排序 稳定性 复杂度
天空灬之城
这个作者很懒,什么都没留下…
展开
-
Java常用的八种排序算法与代码实现
目录: 1.直接插入排序 2.希尔排序 3.简单选择排序 4.堆排序 5.冒泡排序 6.快速排序 7.归并排序 8.基数排序 1.直接插入排序 经常碰到这样一类排序问题:把新的数据插入到已经排好的数据列中。 将第一个数和第二个数排序,然后构成一个有序序列 将第三个数插入进去,构成一个新的有序序列。 对转载 2017-04-18 12:05:05 · 563 阅读 · 0 评论 -
程序员必知8大排序3大查找(三)
三种查找算法:顺序查找,二分法查找(折半查找),分块查找,散列表(以后谈) 一、顺序查找的基本思想: 从表的一端开始,顺序扫描表,依次将扫描到的结点关键字和给定值(假定为a)相比较,若当前结点关键字与a相等,则查找成功;若扫描结束后,仍未找到关键字等于a的结点,则查找失败。 说白了就是,从头到尾,一个一个地比,找着相同的就成功,找不到就失败。很明转载 2017-07-01 10:20:49 · 290 阅读 · 0 评论 -
程序员必知8大排序3大查找(一)
程序员必知! 1、直接插入排序 (1)基本思想:在要排序的一组数中,假设前面(n-1) [n>=2] 个数已经是排 好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数 也是排好顺序的。如此反复循环,直到全部排好顺序。 (2)实例 2、希尔排序(也称最小增量排序) (1)基本思想:算法先转载 2017-07-01 10:14:41 · 374 阅读 · 0 评论 -
程序员必知8大排序3大查找(二)
本文我们先把剩余的三大排序说完,然后讨论一下排序的稳定性问题,最后再总结一下排序的时间复杂度和空间复杂度。 (1到5见上篇) 6、快速排序 (1)基本思想:选择一个基准元素,通常选择第一个元素或者最后一个元素,通过一趟扫描,将待排序列分成两部分,一部分比基准元素小,一部分大于等于基准元素,此时基准元素在其排好序后的正确位置,然后再用同样的方法递归地排序划分的两部分。转载 2017-07-01 10:17:37 · 266 阅读 · 0 评论