题目:算法导论第二版 P216 15.5-1
package introductionToAlgorithms.dp;
public class ConstructOprimalBST {
private int[][] root={{1,1,2,2,2},{0,2,2,2,4},
{0,0,3,4,5},{0,0,0,4,5},{0,0,0,0,5}};
public void constructOptimalBST(int left,int right){
if(left == 0 && right == root.length-1) {
System.out.println("k[" + root[left][right]+"] is the root");
}
if(left < right) {
int r = root[left][right]-1;
System.out.println("k[" + root[left][r-1]+"] is the left child of k[" + (r+1) + "]");
constructOptimalBST(left,r-1);
if(r < right ) //右孩子不是k[i],而是d[i],不用在这里打印
System.out.println("k[" + root[r+1][right]+"] is the right child of k[" + (r+1) +"]");
constructOptimalBST(r+1,right);
}else if(left == right) {
System.out.println("d[" + left+"] is the left child of k[" + (left+1) +"]");
System.out.println("d[" + (left+1)+"] is the right child of k[" + (left+1) +"]");
}else {
System.out.println("d[" + left +"] is the right child of k[" + (right+1) + "]");
}
}
public static void main(String[] args) {
ConstructOprimalBST c = new ConstructOprimalBST();
c.constructOptimalBST(0,c.root.length-1);
}
}
分享到:
相关推荐
算法导论第15章-动态规划的课后习题参考答案,对于算法爱好者而言,是不错的参考资料。
算法导论第三版练习题15.2-2的C++实现方案
3. 背包问题:包括0-1背包和完全背包,是优化问题的一个常见例子,通常用于资源分配或决策问题。 4. 矩阵链乘法:通过最小化运算次数来优化矩阵乘法的过程。 **第32章:贪心算法** 贪心算法是另一种解决优化问题的...
1. **算法基础**:算法是一系列明确的步骤,用于解决特定问题或执行特定任务。理解算法的基本要素,如输入、输出、可行性、确定性、有限性以及效率,是学习算法的基础。 2. **数据结构**:数据结构是组织和存储数据...
1. 算法导论第三版答案涵盖了许多课后习题的答案,为读者提供了解决方案。 2. SELECTION-SORT(选择排序)算法在内容中被提及,选择排序的基本思想是在未排序序列中找到最小(或最大)元素,存放到排序序列的起始位置...
通过上述总结可以看出,《算法导论》(第三版)是一本全面介绍了算法理论与实践的教材,涵盖了算法的基础知识、设计技巧、分析方法以及具体的应用实例。适合于计算机科学领域的学生、研究人员以及从业者学习参考。
标题中的“算法导论第三版答案(完整版)”意味着这份资源提供了书中的所有习题解答,这对于读者自我检验学习成果、深入理解概念和技巧非常有帮助。 描述中提到,网上的答案通常不完整,而这份资源是完整版,每章的...
算法导论是算法方面的入门方面的权威著作,通俗易懂,很容易让人理解
《算法导论》第二十章习题解答涵盖了各种高级算法问题,主要涉及图论和网络流等内容。在这一章中,作者深入探讨了如何解决实际问题,如最短路径、最大流最小割以及网络调度等问题。以下是部分习题的解析和相关知识点...
《算法导论习题解答 4-1》 在计算机科学领域,算法是解决问题的核心,而《算法导论》作为一本经典教材,深入浅出地介绍了各种基础和高级算法。本资源聚焦于书中的第4章习题解答,旨在帮助读者理解和掌握相关算法的...
《算法导论》是计算机科学领域的一本经典著作,它深入浅出地介绍了各种重要的算法,并提供了详尽的分析和实现。第十五章通常涉及图算法,包括最短路径、最小生成树、网络流等核心概念。在这个压缩包中,我们可能会...
编辑距离问题-算法导论 在计算机科学中,编辑距离问题是指将一个字符串转换成另一个字符串所需的最少操作步骤数。这些操作可以是插入、删除、替换和复制字符。编辑距离问题是一种典型的动态规划问题。 动态规划是...
算法导论,英文版,附习题解析 Introduction to Algorithms, Second Edition Thomas H. Cormen Charles E. Leiserson Ronald L. Rivest Clifford Stein The MIT Press
### MIT算法导论期末试题及答案解析 #### 标题解析 标题“MIT算法导论期末试题+答案原版”明确指出了这份资料是麻省理工学院(MIT)《算法导论》课程的期末考试题目及其对应的答案。这里的“原版”强调了这是官方...
算法导论
在"算法导论试题及答案"这个压缩包中,我们可以推测包含了一些与该教材相关的学习资源,如: 1. **课程表.doc**:这可能是一个详细的课程计划,列出了整个学期的学习进度和教学内容,包括每个主题的讲解日期、重点...
《算法导论》是计算机科学领域的一本经典著作,它深入浅出地介绍了算法的设计、分析和实现。XM大学的这个算法课程PPT文件,无疑为学习者提供了一个宝贵的资源,帮助他们理解和掌握这一核心领域的知识。在这个PPT中,...
1. **排序算法**:包括冒泡排序、插入排序、选择排序、快速排序、归并排序、堆排序等,它们在处理大量数据时扮演着关键角色。其中,快速排序和归并排序是效率较高的算法,而堆排序则常用于实时性要求较高的场景。 2...
算法导论第二十四章答案 算法导论第二十四章答案 算法导论第二十四章答案