- 博客(3)
- 收藏
- 关注
原创 排序:选择排序&堆排序(树形选择排序的改进)
选择排序1、基本思想:首先在待排序序列中选出最小记录,然后将这个最小的数据元素与第一个记录交换,第一个记录到位后即为第一趟排序;第二趟则为第二个记录到最后一个记录中选最小的记录,之后将所选的最小的记录与第二个记录交换。以此类推,进行n-1趟。即第i趟选择排序是在n-i+1(1=1,2,…,n-1)个记录中进行选择。2、稳定性:稳定3、时间复杂度:O(n²),空间复杂度:O(1)4、代码实现:#include<stdio.h>#define MAX 100void SelectSor
2020-12-04 22:49:26
311
原创 排序:冒泡排序&快速排序
冒泡排序1、基本思想:将第一个记录的关键字与第二个记录的关键字比较,若为逆序,则将两个记录交换,再向后比较。关键字小的漂浮,关键字大的下沉。2、稳定性:算法稳定。3、时间复杂度:O(n²),空间复杂度:O(1)4、代码实现:...
2020-11-28 02:01:32
365
1
原创 插入排序:折半插入排序&希尔排序
排序算法1、排序算法的稳定性:①稳定的:关键字相同的元素在排序后相对位置不变②不稳定的:关键字相同的元素在排序后相对位置改变2、排序算法分类:内部排序,外部排序。插入排序1、算法思想:每次将一个待排序的记录按其关键字大小插入到前面已排好序的子序列中,直到全部记录插入完成。2、①直接插入排序②带哨兵的直接插入排序(不用temp,将首位置设为空,将需要排序的关键码复制为哨兵)优点:不需要每轮循环判断j>=03、空间复杂度:O(1) 。时间复杂度:最好O(n)、最坏O(n²)、平均O(
2020-11-22 22:01:37
303
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人