以图2-2为模型,说明INSERTION-SORT在数组A=<31, 41, 59, 26, 41, 58>上的执行过程。 2.1-2 重写过程INSERTION-SORT,使之按照降序排列。 forj=2to A.lengthkey=A[j]// insert A[j] into the sorted sequence A[1, j-1]i = j -1whilei >0and A[i] < key A[i +1] = A[i] i = i...
算法导论第三版第二章思考题答案,2-1(在归并排序中对小数组采用插入排序)虽然归并排序的最坏情况运行时间为Θ(nlgn),而插入排序的最坏情况运行时间为Θ(n2),但
2.1-1:以图2-2为模型,说明INSERTION-SORT在数组A=<31,41,59,26,41,58>上的执行过程。 2.1-2:重写过程INSERTION-SORT,使之按非升序(而不是按非降序)排序。 注意,跟之前升序的写法只有一个地方不一样: 2.1-3:考虑下面的查找问题: 输入:一列数A=<a1,a2,…,an >和一个值v 输出:下标i,使得v=A[i]...
(1) 在循环的第 1 轮之前, i = 1, arr[0 .. i-1] = arr[0], 显然循环不变式成立。 (2) 设在第 k (k >= 1) 轮循环开始之前,循环不变式成立。即 arr[0 .. k-1] 为最初 arr[0 .. k-1] 的有序序列,我们要找到 arr[k] 的位置, 将在 arr[0 .. k-1] 中比 arr[k] 大的都...
1.2-1 (开放问题) 原题: 给出在应用层需要算法内容的应用的一个例子,并讨论设计的算法的功能。 回答: 这里我对应用层的意思不是很理解。可能是指网络中的应用层?然后手机会有手势识别,这就需要算法去匹配你的手势。可能会采用某种分类器,就是分类东西的算法,比如各种机器学习算...
动态规划算法的设计可以分为如下四个步骤: 1 描述最优解的结构。 2 递归定义最优解的值。 3 按自底向上的方式计算最优解的值。 4 由计算出的结果构造一个最优解。(1回应) 2012-11-13 18:32:294人喜欢 展开 第168页 邻家の躺平人(zzzZZZZ) ...
6.1-2 证明:含n个元素的堆的高度为向下取整(lgn)答:假设n=2^m-1+k (m足够大),也就是说这个堆是由一棵高度为m-1的完全二叉树和k个叶节点组成。这颗树的高度定义为从根元素出发到叶节点最长简单路径上边的数目。肯定是大于等于m的。所以含有n个元素的堆的高度为向下取整(lgn)。6.1-3 ...
1. 什么是算法? 狭义地看,算法是用计算机程序求解计算问题的方法。 例(素数判定问题):给定一个整数,判断它是否素数。 定义一个计算问题有两个要素:输入和输出。以素数判定问题为例,它的输入是一个整数,输出是一个布尔值:"是"或"否"。 求解素数判定问题的算法是一个满足上述输入输出条件的计算机程序。 2. 如...
21-03-2 22:50 来自微博网页版 已编辑 做了一点功课。《算法导论》第1版是1990年发行的,不过MIT Press官网显示精装和平装都是1990年6月,但是想了想这本书当年是联合发行。看了看amazon,Mcgraw-Hill版显示是1990年3月1日,既然是MIT CSAIL发的又加了OTD标签,应该是没问题的。另外八卦一下,Cormen自己说这本...
4.重复步骤 1 到步骤 3,直到数组 A 中只剩下一个元素为止。 下面是使用Python实现归并排序的代码: 代码语言:javascript 复制 defmerge_sort(A):iflen(A)<=1:returnAmid=len(A)// 2left_A=A[:mid]right_A=A[mid:]left_sorted=merge_sort(left_A)right_sorted=merge_sort(right_A)returnmerge(left_...