`
amazingidiot
  • 浏览: 32230 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

算法导论习题解答 2-2

阅读更多

•2-2 冒泡排序算法的正确性证明
伪代码:
BUBBLESORT(A)
1、 for i <- 1 to Length[A]
2、      do for j <- 1 to Length[A]downto i+1
3、                do if A[j] < A[j-1]
4、                      then exchange A[j] <-> A[j-1]


证明:令n=Length[A]
(1)、对第2~4行的for循环,循环不变式是A[j]是子数组A[j…n]中的最小值,且子数组中的元素并未改变。
初始化:开始时,j=n,子数组中只包含A[n],故循环不变式成立;
保持:假设对于任意的一个j,使得A[j]是子数组A[j…n]中的最小值,在下一轮循环中,若A[j] < A[j-1],则A[j]和A[j-1]交换。使得A[j-1]是子数组A[j-1…n]中的最小值,循环不变式依然成立;
终止:循环结束时j=i,A[j]是子数组A[j…n]中的最小值,且子数组中的元素并未改变。
(2)、对于1~4行的for循环,循环不变式是每次循环前,A[1…i-1]中包含了整个数组中前i-1小的排好序的元素,而A[i…n]中包含剩下的元素。
初始化:第一次循环前i=1,子数组为空,循环不变式成立;
保持:假设对于任意一个i,使得A[1…i-1]中包含了整个数组中前i-1小的排好序的元素,而A[i…n]中包含剩下的元素,则内层循环保证了A[i]是子数组A[i…n]中的最小元素,则A[1…i]中包含了整个数组中前i小的排好序的元素,而A[i+1…n]中包含剩下的元素。循环不变式成立。
终止:循环结束时i=n+1,则A[1…n]中包含了整个数组中前n小的排好序的元素,即数组有序。
综上:冒泡排序是正确的。

 

0
5
分享到:
评论

相关推荐

    算法导论习题解答 4-4

    总之,"算法导论习题解答 4-4"可能会涵盖图算法或动态规划的知识点,解题过程需要综合运用理论知识、分析技巧和编程技能。如果你能够深入理解并熟练运用这些概念,不仅可以解决这个习题,还能为其他类似问题提供解决...

    算法导论习题解答 4-1

    《算法导论习题解答 4-1》 在计算机科学领域,算法是解决问题的核心,而《算法导论》作为一本经典教材,深入浅出地介绍了各种基础和高级算法。本资源聚焦于书中的第4章习题解答,旨在帮助读者理解和掌握相关算法的...

    算法导论习题解答算法导论习题解答

    - **标题**:“算法导论习题解答算法导论习题解答”明确指出这是一份关于《算法导论》(*Introduction to Algorithms*)一书的习题解答文档。 - **描述**:描述重复了标题内容,强调了这是关于《算法导论》的习题...

    算法导论-习题答案-含全部课后习题详细解答

    #### 算法导论-习题答案-含全部课后习题详细解答 **知识点概述:** 本资料为《算法导论》(第二版)一书的教师手册,提供了全书各章节课后习题的详细解答。该书由Thomas H. Cormen、Charles E. Leiserson、Ronald ...

    算法导论习题答案---关于算法习题的答案

    本压缩包文件“习题答案”提供了《算法导论》中的所有习题解答,这对于正在学习此书或者准备相关考试的学生来说是极其宝贵的资源。通过参考这些答案,你可以检验自己的解题思路是否正确,理解各种算法的精髓,并且...

    算法导论习题算法导论习题解答

    - **描述**:“算法导论习题解答算法导论习题解答算法导论习题解答算法导论习题解答”:强调文档内容为《算法导论》习题解答的汇总。 #### 内容解析 ##### 1. 插入排序与归并排序比较 - **关键点**:“插入排序在...

    算法导论习题解答 算法导论习题解答

    《算法导论》是计算机科学领域的一本经典著作,它深入浅出地介绍了算法的设计、分析和实现。这本书涵盖了各种基础和高级算法,...因此,对于任何想深入理解算法的人来说,《算法导论》及其习题解答都是不可或缺的资源。

    《算法导论》习题解答

    - **描述**:“算法导论习题解答,相当nice,相当完整...一个字帅”表明这份解答集内容详尽且质量较高。 - 这里的“相当nice”、“相当完整”、“帅”是对于该习题解答集的积极评价,暗示了它不仅覆盖范围广泛,而且...

    算法导论第1-16章编程题答案

    《算法导论》是计算机科学领域的一本经典著作,它深入浅出地介绍了各种重要的算法,并配以详尽的分析和实例。这份压缩包文件包含了该书第1至16章的部分编程题目的Java实现,对于学习算法和提高编程技能来说,是一个...

    算法导论习题集-全的

    ### 知识点生成 #### 一、算法导论习题集概述 《算法导论习题集》是一本...综上所述,《算法导论习题集》不仅包含了大量习题的详细解答,还提供了对算法原理的深入理解,是学习算法设计与分析的重要参考资料之一。

    算法导论课后习题2.3-7和思考题2-4答案源码

    在这个压缩包中,包含了课后习题2.3-7“合并排序”和思考题2-4“逆序对”的解答源码。这两个问题都是围绕着算法设计和效率分析展开的,对于理解和掌握排序算法及其内在性质至关重要。 首先,我们来看课后习题2.3-7...

    完整的算法导论习题答案 完整的算法导论习题答案

    标题和描述中提及的是“完整的算法导论习题答案”,这表明文档包含了针对《算法导论》一书中的练习题解答。《算法导论》是一本经典的计算机科学教材,由Thomas H. Cormen、Charles E. Leiserson、Ronald L. Rivest等...

    算法导论第十五章习题解答

    《算法导论》是计算机科学领域的一本经典著作,它深入浅出地介绍了各种重要的算法,并提供了详尽的分析和实现。第十五章通常涉及图算法,包括最短路径、最小生成树、网络流等核心概念。在这个压缩包中,我们可能会...

    算法导论第三版-课后习题英文参考答案.zip

    这份名为“算法导论第三版-课后习题英文参考答案.zip”的压缩包资源,显然为学习者提供了宝贵的辅助材料,帮助他们解决书中的习题,加深对算法的理解。 首先,我们要知道《算法导论》这本书涵盖的内容广泛,包括...

    算法导论第十九章习题解答

    《算法导论》是计算机科学领域的一本经典著作,它深入浅出地介绍了各种重要的算法,并提供了详尽的分析和实现。第十九章通常聚焦于图算法,因为图在计算机科学中有广泛的应用,如网络路由、社交网络分析、最短路径...

    算法导论习题解答中文版

    根据提供的文件信息,我们可以从中提取到与“算法导论习题解答中文版”相关的知识点。以下是对这个主题的详细解读: 首先,需要明确的是《算法导论》是一本非常经典的计算机科学领域的教科书,由Thomas H. Cormen, ...

Global site tag (gtag.js) - Google Analytics