- 博客(5)
- 资源 (3)
- 收藏
- 关注
原创 排序算法之希尔排序
【前言】希尔排序是插入排序的优化版本,是以该排序的设计者的名字来命名的。下面跟着小编一下来了解一下希尔排序吧。 一、基本思想 希尔排序是根据间距对待排序的数进行分组,然后组内进行直接插入排序,然后缩小间距再分组,依次类推直到间距为1,完成排序之后整个排序就完成了。 我们一般去序列的一般为增量,以后每次减半,知道增量为1。 二、针对插入排序的改进 1.插入排序在对几乎已经排好序的
2017-10-23 09:18:28 316 24
原创 排序算法之堆排序
【前言】刚开始小编对堆排序可是一头雾水,通过这几天的学习和整理,最重要的是亲手实践了堆排序的过程以及代码实现,豁然开朗了,赶紧把学习过程总结下来,分享给大家。排序算法之堆排序开课啦!一、什么是堆排序 堆排序是对选择排序的一种优化,可以利用数组的特点快速定位指定索引的元素。 堆的定义:若有一个关键字序列满足{k1,k2,…,kn}满足ki<=k2i ki<=k2i+1(或ki>=k2i ki>=
2017-10-14 20:45:07 490 75
原创 排序算法之快速排序
思想:选择排序用了分治的思想,把大问题分治成小问题来解决,而且再实现的过程中可以用递归的思想,每一小部分的实现方法都一样。 排序过程: 以第一个数6为基准值 小j从右边向左走,找比基准值小的数,找到了5 这时小i从左边出发找比基准值大的数,找到了7;这时将7和5交换 小i再往前走,找到了9,小j在往前走找到了4,这时将4和9交换 小i和小j继续往前走,他们在3的位置相遇了这时将基
2017-10-03 22:25:27 342 19
原创 排序算法之选择和插入排序的简单优化
【前言】 之前学习了三种简单的排序算法也做了相应的总结,代码实现起来也非常容易但是这些简单排序还可以再优化一下,减少交换的次数,下面分享一下小编的优化方法。一、选择排序1、思想 优化前:假设第一个数是最大的为max,分别和后面的数arr[i]作比较如果arr[i]比max大的话,那么就把arr[i]和max交换,直到找出一个最大数完成第一趟的比较。 这样每次arr[i]比max大都要做一次交
2017-10-01 18:34:17 335 13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人