资源预览内容
第1页 / 共10页
第2页 / 共10页
第3页 / 共10页
第4页 / 共10页
第5页 / 共10页
第6页 / 共10页
第7页 / 共10页
第8页 / 共10页
第9页 / 共10页
第10页 / 共10页
亲,该文档总共10页全部预览完了,如果喜欢就下载吧!
资源描述
实验三 排序算法的实现一、实验目的理解排序的概念熟悉排序的常用方法用相应的方法解决实际问题二、实验原理排序是数据处理中的一种重要运算。高效率地进行排序是计算机应用中要解决的重要问题。排序就是某一序列按其关键字递增(或递减)的关系使该序列成为一个按关键字有序的序列。1、选择排序不断在待排序序列(无序区)中按记录关键字递增(或递减)次序选择记录,放入有序区中,直到整个记录区为有序区为止。 排序的分类简单选择排序在当前无序序列中选择一个关键字最小的记录,并将它和最前端的记录交换。重复上述操作,使记录区的前端逐渐形成一个由小到大的有序区。堆排序它在排序过程中将存放在向量中的数据看作是一棵完全二叉树,向量的下标即为完全二叉树的结点序号。利用完全二叉树上下层结点之间的特殊关系,不断调整结点的位置,最终完成排序。2、插入排序将当前无序区中最前端的记录插入到有序区中,使有序区逐渐增大,直到所有记录都插入到有序区为止。每插入一个记录的过程称为一趟。插入的方式可以不同。一般常用的为线形插入与对半插入。线性插入排序是在有序区中进行顺序查找,以确定插入的位置,然后移动记录腾出空间,以便相应关键字的记录插入。对半插入排序对有序表用对分查找可提高查找效率,在插入排序中也可利用对分查找方法,称为对半插入排序。3、交换排序是根据序列中两个结点关键字的比较结果,来对换在序列中的位置。该排序的特点是将关键字较大的结点向序列的尾部移动,关键字较小的结点向序列的前部移动。常用的方法有冒泡排序和快速排序法。冒泡排序它对无序表进行扫描,当发现相邻的两个记录关键字逆序时进行交换,第一次扫描后将最大关键字记录沉到底部,而关键字较小的记录则像气泡一样逐渐上浮。然后对剩下的记录再进行扫描,直到某次扫描时不发生交换,则排序完成。快速排序它通过一趟排序将一个无序区分割成两个独立的无序子区,其中前一部分子区中所有元素关键字均不大于后一部分子区中元素关键字,然后对每一子区再进行分割,直到整个数据区有序为止。三、实验内容 任意选择一个序列,该序列应包含10个左右的数据且为无序状态,利用相应的排序法使该序列成为一个有序序列。
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号