知识大全 数据结构考研分类复习真题 第十章 答案[42]
Posted 元素
篇首语:人有恒心万事成,人无恒心万事崩。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 数据结构考研分类复习真题 第十章 答案[42]相关的知识,希望对你有一定的参考价值。
( ) 加入 后
( )加入 后
( )[题目分析]从插入位置进行调整 调整过程由下到上 首先根据元素个数求出插入元素所在层次数 以确定其插入层是最大层还是最小层 若插入元素在最大层 则先比较插入元素是否比双亲小 如是 则先交换 之后 将小堆与祖先调堆 直到满足小堆定义或到达根结点 若插入元素不小于双亲 则调大堆 直到满足大堆定义 若插入结点在最小层 则先比较插入元素是否比双亲大 如是 则先交换 之后 将大堆与祖先调堆 若插入结点在最小层且小于双亲 则将小堆与祖先调堆 直到满足小堆定义或到达根结点
( )void MinMaxHeapIns(RecType R[] int n) //假设R[ n ]是最小最大堆 插入第n个元素 把R[ n]调成最小最大堆 j=n; R[ ]=R[j]; h=ëlog nû+ ; //求高度 if (h% == ) //插入元素在偶数层 是最大层 i=n/ ; if (R[ ] key<R[i] key) //插入元素小于双亲 先与双亲交换 然后调小堆 R[j]=R[i]; j=i/ ; while (j> && R[j]>R[i]) //调小堆 R[i]=R[j]; i=j; j=i/ ; R[i]=R[ ]; else //插入元素大于双亲 调大堆 i=n; j=i/ ; while (j> && R[j]<R[i]) R[i]=R[j]; i=j; j=i/ ; R[i]=R[ ]; else //插入元素在奇数层 是最小层 i=n/ ; if (R[ ] key>R[i] key) //插入元素大于双亲 先与双亲交换 然后调大堆 R[j]=R[i]; j=i/ ; while (j> && R[j]<R[i]) //调大堆 R[i]=R[j]; i=j; j=i/ ; R[i]=R[ ]; else //插入元素小于双亲 调小堆 i=n; j=i/ ; while (j> && R[j]>R[i]) R[i]=R[j]; i=j; j=i/ ; R[i]=R[ ]; //MinMaxHeapIns
cha138/Article/program/sjjg/201311/23165相关参考
第章排序答案 一选择题 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+];