知识大全 第8章排序(算法设计)习题练习

Posted

篇首语:旋转木马是这世上最残酷的游戏,彼此追逐,却永远隔着可悲的距离。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 第8章排序(算法设计)习题练习相关的知识,希望对你有一定的参考价值。

将哨兵放在R[n]中 被排序的记录放在R[ n ]中 重写直接插入排序算法

以单链表作为存储结构实现直接插入排序算法  

设计一算法 使得在尽可能少的时间内重排数组 将所有取负值的关键字放在所有取非负值的关键字之前 请分析算法的时间复杂度  

* 写一个双向冒泡排序的算法 即在排序过程中交替改变扫描方向  

下面是一个自上往下扫描的冒泡排序的伪代码算法 它采用lastExchange 来记录每趟扫描中进行交换的最后一个元素的位置 并以它作为下一趟排序循环终止的控制值 请仿照它写一个自下往上扫描的冒泡排序算法 void BubbleSort(int A[] int n) //不妨设A[ n ]是整型向量 int lastExchange j i=n ; while (i> )  lastExchange= ;  for(j= ;j<i;j++)//从上往下扫描A[ i]    if(A[j+ ]<A[j])      交换A[j]和A[j+ ];      lastExchange=j;      i=lastExchange;//将i置为最后交换的位置 //endwhile//BubbleSort 

改写快速排序算法 要求采用三者取中的方式选择划分的基准记录 若当前被排序的区间长度小于等于 时 无须划分而是直接采用直接插入方式对其排序  

对给定的j( ≤j≤n ) 要求在无序的记录区R[ n]中找到按关键字自小到大排在第j个位置上的记录(即在无序集合中找到第j个最小元) 试利用快速排序的划分思想编写算法实现上述的查找操作  

`以单链表为存储结构 写一个直接选择排序算法

写一个heapInsert(R key)算法 将关键字插入到堆R中去 并保证插入R后仍是堆 提示 应为堆R增加一个长度属性描述(即改写本章定义的SeqList类型描述 使其含有长度域) 将key先插入R中已有元素的尾部(即原堆的长度加 的位置 插入后堆的长度加 ) 然后从下往上调整 使插入的关键字满足性质 请分析算法的时间

写一个建堆算法 从空堆开始 依次读入元素调用上题中堆插入算法将其插入堆中

写一个堆删除算法 HeapDelete(R i) 将R[i]从堆中删去 并分析算法时间 提示 先将R[i]和堆中最后一个元素交换 并将堆长度减 然后从位置i开始向下调整 使其满足堆性质

已知两个单链表中的元素递增有序 试写一算法将这两个有序表归并成一个递增有序的单链表 算法应利用原有的链表结点空间

设向量A[ n ]中存有n个互不相同的整数 且每个元素的值均在 到n 之间 试写一时间为O(n)的算法将向量A排序 结果可输出到另一个向量B[ n ]中

cha138/Article/program/sjjg/201311/23622

相关参考

知识大全 第8章排序(基础知识)习题练习

以关键字序列()为例分别写出执行以下排序算法的各趟排序结束时关键字序列的状态 ()直接插入排序()希尔排序()冒泡排序()快速排序 ()直接选择排序()堆排序()归并排序()基数排序  上述方法中哪些

知识大全 第8章排序(基础知识)习题练习答案

以关键字序列()为例分别写出执行以下排序算法的各趟排序结束时关键字序列的状态 ()直接插入排序()希尔排序()冒泡排序()快速排序 ()直接选择排序()堆排序()归并排序()基数排序  上述方法中哪些

知识大全 严蔚敏《数据结构(c语言版)习题集》算法设计题第十章答案

  第九章查找第十章内部排序    voidInsert_Sort(SqList&L)//监视哨设在高下标端的插入排序算法    k=Llength;  for(i=k;i;i)//从后向前逐

知识大全 第6章树(算法设计)习题练习

*二叉树的遍历算法可写为通用形式例如通用的中序遍历为 voidInorder(BinTreeTvoid(*visit)(DataTypex))   if(T)  &nbs

知识大全 第7章图(算法设计)习题练习

试在无向图的邻接矩阵和邻接链表上实现如下算法 ()往图中插入一个顶点 ()往图中插入一条边 ()删去图中某顶点 ()删去图中某条边下面的伪代码是一个广度优先搜索算法试以图(下图)中的v为源点

知识大全 第6章树(算法设计)习题练习答案

*二叉树的遍历算法可写为通用形式例如通用的中序遍历为 voidInorder(BinTreeTvoid(*visit)(DataTypex))  if(T)    Inorder(T>lchil

知识大全 数据结构第八章(排序)习题参考答案(下)

  二算法设计题  将哨兵放在R[n]中被排序的记录放在R[n]中重写直接插入排序算法  解重写的算法如下因为哨兵换了位置所以一切都反向了有序区是从右边长出来的;  voidInsertSort(Se

知识大全 第10章文件习题练习

常见的文件组织方式有哪几种?各有何特点?文件上的操作有哪几种?如何评价文件组织的效率?索引文件散列文件和多关键字文件适合存放在磁带上吗?为什么?设有一个职工文件其记录格式为(职工号姓名性别职务年龄工资

知识大全 第10章文件习题练习答案

常见的文件组织方式有哪几种?各有何特点?文件上的操作有哪几种?如何评价文件组织的效率?答   常用的文件组织方式有顺序文件索引文件散列文件和多关键字文件   ●顺序文件的

知识大全 第2章线性表习题练习答案

试描述头指针头结点开始结点的区别并说明头指针和头结点的作用答   开始结点是指链表中的第一个结点也就是没有直接前趋的那个结点   链表的头指