题目:算法导论第二版 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.2-2的C++实现方案
《算法导论》是计算机科学领域的一本经典教材,它深入浅出地介绍了各种重要的算法,并提供了详尽的分析和实现。题目中的“4-4”可能指的是书中的第四章第四个习题,通常涉及图算法或者动态规划等主题。由于具体描述...
《算法导论第三版》是计算机...综上所述,“算法导论第三版课后习题答案”不仅提供了具体的习题解答,还深入解析了算法的设计原理、复杂性分析以及实际应用场景,对于深入理解算法、提高编程能力具有重要的指导意义。
算法导论--编程中经典的经典,值得每一位程序员用心品读
《算法导论--教师手册》是一本针对计算机科学专业学生及教师的重要参考书籍,由Thomas H. Cormen、Charles E. Leiserson、Ronald L. Rivest和Clifford Stein四位作者共同编撰,第二版由Thomas H. Cormen、Clara Lee...
针对你提到的“算法导论第三版完整版答案”,这通常指的是配套的解决方案手册,包含了书中所有练习题的解答,对于学习者来说是极其宝贵的资源。 算法是解决问题的核心工具,它们在计算机科学中起着基石的作用。...
算法导论第四章答案算法导论第四章答案算法导论第四章答案算法导论第四章答案
- **9.3-1**至**9.3-9**:介绍了最小生成树问题的定义、解决方案及其算法实现(如Prim算法、Kruskal算法等)。 ### 第15章:动态规划 #### 15.1 复杂度分析 - **15.1-1**至**15.1-5**:通过具体的例子展示了如何...
该算法的循环不变量是“在数组索引从1到i-1之间没有元素等于v”。这一概念强调了在每次循环迭代结束时保持的条件,确保算法正确性和效率。 #### 5. 选择排序算法改进 文档末尾提及了选择排序算法SELECTION-SORT,...
《算法导论(第三版)》是...总之,《算法导论(第三版)》中文版答案是学习算法的有力辅助工具,结合书中的理论和实例,加上自己不断的实践和反思,读者可以在算法的世界中游刃有余,为未来的技术生涯打下坚实的基础。
《算法导论》第二十三章主要探讨的是图算法,包括图的基本概念、图的表示方法、图的遍历以及各种图的特殊结构如最小生成树、最短路径等。本章习题解答涵盖了这些核心知识点,旨在帮助读者深入理解和应用所学理论。 ...
1. **算法基础**:算法是一系列明确的步骤,用于解决特定问题或执行特定任务。理解算法的基本要素,如输入、输出、可行性、确定性、有限性以及效率,是学习算法的基础。 2. **数据结构**:数据结构是组织和存储数据...
1. 算法导论第三版答案涵盖了许多课后习题的答案,为读者提供了解决方案。 2. SELECTION-SORT(选择排序)算法在内容中被提及,选择排序的基本思想是在未排序序列中找到最小(或最大)元素,存放到排序序列的起始位置...
标题中的“算法导论第三版答案(完整版)”意味着这份资源提供了书中的所有习题解答,这对于读者自我检验学习成果、深入理解概念和技巧非常有帮助。 描述中提到,网上的答案通常不完整,而这份资源是完整版,每章的...
《算法导论》第二十章习题解答涵盖了各种高级算法问题,主要涉及图论和网络流等内容。在这一章中,作者深入探讨了如何解决实际问题,如最短路径、最大流最小割以及网络调度等问题。以下是部分习题的解析和相关知识点...
《算法导论习题解答 4-1》 在计算机科学领域,算法是解决问题的核心,而《算法导论》作为一本经典教材,深入浅出地介绍了各种基础和高级算法。本资源聚焦于书中的第4章习题解答,旨在帮助读者理解和掌握相关算法的...
算法导论 第二十五章 答案 算法导论 第二十五章 答案 算法导论 第二十五章 答案
编辑距离问题-算法导论 在计算机科学中,编辑距离问题是指将一个字符串转换成另一个字符串所需的最少操作步骤数。这些操作可以是插入、删除、替换和复制字符。编辑距离问题是一种典型的动态规划问题。 动态规划是...