- 博客(4)
- 收藏
- 关注
原创 希尔排序(Shell Sort)
希尔排序(Shell Sort) 1.1 算法描述 希尔排序是插入排序的升级版本,它与插入排序的不同之处在于,它会优先比较距离较远的元素。希尔排序又叫缩小增量排序,它的时间复杂度为O(n^1.3),空间复杂度为O(1),稳定性差。 1.2 动态图演示 我们先将整个数组分成多个子序列,然后在进行插入排序,他们之间的间隔在每次循环后减小,直到最后一次循环结束 1.3代码实现 void S...
2020-03-24 23:46:34
372
原创 插入排序(Insertion Sort)
插入排序(Insertion Sort) 1.1 算法描述 插入排序是一种简单的排序,它是通过构建有序序列,将未排序的元素从后往前进行对比,寻找相应的位置放入。它的时间复杂度为O(n^2),空间复杂度为O(1),稳定性好。 1.2 动态图演示 从未排序的元素从后往前抽出元素,并向前比较寻找相应的位置放入,并将在其后面的所有元素向后移动一位 1.3 代码实现 请大家在学习的时候不要只是关...
2020-03-24 09:01:02
192
原创 选择排序(Selection Sort)
选择排序(Selection Sort) 1.1 算法描述 选择排序是一种简单的排序。它是按照顺序抽出一个数在剩余数组中进行比较,寻找数组中最小的数,并和它进行交换,直到整个数组排完,它的时间复杂度为O(n^2),空间复杂度为O(1),它的稳定性差。 1.2 动态图演示 按顺序取出一个数在剩余的数组中进行比较,如果这个选中的数为最小的数那就不交换位置,反之,如果在剩余的数组中找到了比选中的数...
2020-03-23 22:54:36
207
原创 冒泡排序(Bubble Sort)
冒泡排序(Bubble Sort) 1.1 算法描述 冒泡排序是一种简单的排序,它是通过重复两个元素之间的数据大小比较后调整它们的位置来实现的。冒泡排序的复杂程度是和所需要进行对比的数据量成正比的。所欲它的时间复杂度为O(n^2),空间复杂度为O(1),并且它的稳定性好。 1.2 动态图演示 它的实际运行是通过两个数之间相互比较大小,然后交换位置,除了最后一个不用进行比较(因为已经到达数组...
2020-03-23 22:24:40
152
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人