知识大全 数据结构考研分类复习真题 第十章 答案[34]
Posted 元素
篇首语:韬略终须建新国,奋发还得读良书本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 数据结构考研分类复习真题 第十章 答案[34]相关的知识,希望对你有一定的参考价值。
typedef struct int num; float score; RecType; void SelectSort(RecType R[ ] int n) for(i= ; i<n; i++) //选择第i大的记录 并交换到位 k=i; //假定第i个元素的关键字最大 for(j=i+ ;j<=n;j++) //找最大元素的下标 if(R[j] score>R[k] score) k=j; if(i!=k) R[i] < >R[k]; //与第i个记录交换 //for for(i= ; i<=n; i++) //输出成绩 printf( %d %f R[i] num R[i] score); if(i% == ) printf( \\n ); //SelectSort
typedef struct int key; datatype infoRecType void CountSort(RecType a[] b[] int n) //计数排序算法 将a中记录排序放入b中 for(i= ;i<n;i++) //对每一个元素 for(j= cnt= ;j<n;j++) if(a[j] key<a[i] key) cnt++; //统计关键字比它小的元素个数 b[cnt]=a[i]; //Count_Sort
( ) 对于有n个记录的表 关键码比较n 次
( ) 简单选择排序算法比本算法好 简单选择排序比较次数是n(n )/ 且只用一个交换记录的空间 而这种方法比较次数是n 且需要另一数组空间
[算法讨论]因题目要求 针对表中的每个记录 扫描待排序的表一趟 所以比较次数是n 次 若限制 对任意两个记录之间应该只进行一次比较 则可把以上算法中的比较语句改为
for(i= ;i<n;i++) a[i] count= ;//各元素再增加一个计数域 初始化为 for(i= ;i<n;i++) for(j=i+ ;j<n;j++) if(a[i] key<a[j] key) a[j] count++; else a[i] count++;
cha138/Article/program/sjjg/201311/23175相关参考
第章排序答案 一选择题 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
二判断题 √××××××××××××√√×××××××××√×√×××√ 部分答案解释如下 错误例如冒泡排序是稳定排序将按冒泡排序排成升序序列第一趟变成此时就朝向最终位置的相反方向移动 错
建立堆结构: () () ()
voidBiInsertSort(RecType R[]intn) //二路插入排序的算法 intd[n+];
初始序列[] 移动[] 移动[] 移动[] 移动[] 移动[] 类似本题的另