标签:调换位置 序列 直接选择排序 基数排序 研究 直接插入排序 递增 简单选择 不同
一、排序的概念:将一系列数据按照某个关键字进行递增或递减的顺序排列起来
二、排序的方式:
1、插入排序:
直接插入排序: 一 一比对
折半插入排序:在已经拍好的序列中插入,适合初始记录无序、n较大的情况
希尔排序:待排序的关键字基本有序->效率较高 分组插入,先分割(相隔某个增量的记录),对每组进行直接插入排序(不能用于链式结构)
2、交换排序:
冒泡排序:左右一 一比对
快速排序:选一个作为分隔,对其进行左右两端分隔,然后利用递归,一 一划分(不稳定、适用于顺序结构,不适用链式结构)
3、选择排序:
简单选择排序/直接选择排序:以第一个数进行比较,然后找到里面最小的那一个数后,调换位置,紧接着第二个数开始(还是可以用循环)
树形选择排序:从树的叶子到根,两两比较,换位
堆排序:调整堆、建初堆(筛选法)
4、归并排序:将两个或两个以上的有序表合成一个有序表
三、排序的稳定性:
(1)稳定:直接插入排序 , 折半插入排序 , 冒泡排序 , 归并排序 , 基数排序
(2)不稳定:希尔排序 , 快速排序 , 简单选择排序 , 堆排序 ,
学习心得: 第八章就插入算法进行了详细的解释,各种不同的算法以及各自的优缺点无不体现着数据结构的魅力,趣味无穷。对时间、空间复杂度等因素的考虑决定着选用何种算法进行插入,让我体会到了纵观全局的感觉。但临近期末有些无暇顾及这一章,计划在暑假好好再研究一下。期末加油!
标签:调换位置 序列 直接选择排序 基数排序 研究 直接插入排序 递增 简单选择 不同
原文地址:https://www.cnblogs.com/txh-001/p/13290058.html