
数据结构与算法
搬甎小犟
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
快速排序
要点 时间复杂度–最好情况:O(nlgn);最坏情况O(n2)。 快速排序是一种不稳定的排序方式。 快排的基本思想:定义一个基准值将待排记录分割为独立的两部分,其中一部记录的关键字均比另一部分的关键字小,再分别对这两部分记录继续进行排序,直到每部分记录只有一个关键字。 每一趟排序都只能确定基准值的位置。 方式二的交换次数只有方式一的1/2. 基本思路(一趟排序) 方式一: 定义一个基准值...原创 2018-09-20 16:30:05 · 224 阅读 · 0 评论 -
直接插入排序
要点 时间复杂度:平均情况O(n2);最好情况O(n);最坏情况O(n2)。 辅助空间:O(1)。 直接插入排序是一种稳定的排序方式,是简单排序(冒泡、简单选择、直接插入)中性能最好的。 基本思想:将一个记录插入到已经排好序的有序表中,从而得到一个新的、记录数增1的有序表。 基本思路 默认待排记录的第一个关键字为已经排好的有序表 从待排记录的第二个关键字开始,与每个关键字的前一个关键字进行比...原创 2018-09-20 21:29:55 · 204 阅读 · 0 评论 -
冒泡排序
要点 时间复杂度——平均情况O(n2);最好情况O(n2);最坏情况O(n2) 辅助空间O() 基本思路: 代码示例 // 1. 对顺序表做交换排序(冒泡排序初级版/伪冒泡) public void bubbleSort0(int[] nums) { for (int i = 0; i < nums.length; i++) for (int j = i + 1; j &lt...原创 2018-09-23 00:06:46 · 133 阅读 · 0 评论 -
归并排序(2路归并)
要点 时间复杂度:平均情况O(nlogn);最好情况(nlogn);最坏情况O(nlogn) 基本思路 递归实现 非递归实现原创 2018-09-28 16:04:21 · 8434 阅读 · 2 评论 -
简单(直接)选择排序
要点 时间复杂度-平均情况:O(n2);最好情况:O(n2);最坏情况:O(n2)。 辅助空间O(1)。 简单选择排序是一种稳定的排序方式。 基本思想:每一趟在n-i+1(i=1,2,…,n)个记录中选取关键字最小的记录作为有序序列的第i个记录。 基本思路(一趟) 定义一个哨兵,记录当前待排序列的最小关键字的坐标,默认为待排序列的首位; 遍历待排序列,发现小于哨兵指向的关键字的值,则哨兵变为...原创 2018-10-19 17:45:35 · 774 阅读 · 0 评论