知识大全 数据结构考研分类复习真题 第十章 答案[39]
Posted 序列
篇首语:学问是心灵的慧眼。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 数据结构考研分类复习真题 第十章 答案[39]相关的知识,希望对你有一定的参考价值。
( ) 堆排序是对树型选择排序的改进 克服了树型选择排序的缺点 其定义在前面已多次谈到 请参见上面 四 应用题 的 题和 题( ) 筛选 是堆排序的基础算法 由于堆可以看作具有n个结点的完全二叉树 建堆过程是从待排序序列第一个非终端结点ën/ û开始 直到根结点 进行 筛选 的过程 堆建成后 即可选得一个关键字最大或最小的记录 然后堆顶元素与序列中最后一个元素交换 再将序列中前n 记录重新调整为堆 可选得一个关键字次大或次小的记录 依次类推 则可得到元素的有序序列
( ) void Sift(RecType R[] int i int m) //假设R[i+ m]中各元素满足堆的定义 本算法调整R[i]使序列R[i m]中各元素满足堆的性质 R[ ]=R[i]; for(j= *i; j<=m; j*= ) if(j<m && R[j] key<R[j+l] key) j++; //建大根堆 if(R[ ] key<R[j] key) R[i]=R[j]; i=j; else break; //for R[i]=R[ ]; //Sift void HeapSort(RecType R[] int n) //对记录序列R[ n]进行堆排序 for(i=n/ ;i> ;i ) Sift(R i n); for(i=n;i> ;i ) R[ ]< >R[i]; Sift(R i );//for //HeapSort
( )堆排序的时间主要由建堆和筛选两部分时间开销构成 对深度为h的堆 筛选 所需进行的关键字比较的次数至多为 (h- ) 对n个关键字 建成深度为h(=ëlog nû+ )的堆 所需进行的关键字比较的次数至多C (n) 它满足下式
调整 堆顶 n 次 总共进行的关键字比较的次数不超过 因此 堆排序的时间复杂度为O(nlog n)
cha138/Article/program/sjjg/201311/23180相关参考
第章排序答案 一选择题 DDDBBBCEACCDFDCADFB(ACF)(BDE)CDABDDDCAACCBCCACDCBCBDDADAAACBCCBABACBDDDDCEGBCCBBACAD
cha138/Article/program/sjjg/201311/23202
typedefstructnode ElemTypedata; structnode*prior*next; node*DLinkedList; void TwoWa
()冒泡排序(HCQPAMSRDFXY) ()初始步长为的希尔排序(PACSQDFXRHMY) ()二路归并排序(HQCYAPMSDRFX) ()快速排序(FHCDPAMQRSYX) 初始
加()%()=个虚段 总读写次数为*wpl=次 类似叙述()()()略cha138/Article/program/sjjg/201311/23190
PROCEDURE StraightInsertSort(VARR:listtype;n:integer); VARij:integer; BEGIN FORi:=TOnDO&nb
二判断题 √××××××××××××√√×××××××××√×√×××√ 部分答案解释如下 错误例如冒泡排序是稳定排序将按冒泡排序排成升序序列第一趟变成此时就朝向最终位置的相反方向移动 错
typedefstruct intnum;floatscore;RecType; voidSelectSort(RecTypeR[]intn) for(i=;i<n;i++) //选
建立堆结构: () () ()
voidBiInsertSort(RecType R[]intn) //二路插入排序的算法 intd[n+];