随笔分类 - Algorithm
摘要:将这三个排序放在一起的原因是在输入数据无序或者随机性较大的情况下,三种排序的时间复杂度都是O(n^2),下面将依次介绍这三种排序方法1、插入排序 所谓插入排序,就相当于将未排序的序列分为两部分,第一部分是已经有序的(初试状态下,第一部分只包含第一个元素,它肯定是有序的),第二部分是无序的,顺序...
阅读全文
摘要:1、 堆排序的思想 输入一个数组,利用一组二叉树的操作使其变成有序的数组,就是堆排序 堆排序利用的是二叉树的思想,操作对象是数组,所以数组需要在逻辑上映射到二叉树上,由于数组的下标是连续的,而二叉树中只有完全二叉树和满二叉树是连续的,所以将数组元素逐个映射到完全二叉树上,然后配备一系列的操作即可...
阅读全文
摘要:快速排序的思想: 分治法,将大问题分为若干个小的问题,解决小问题然后合成大问题的解典型的快速排序的一般过程: 1、在数组中找到一个数,一般选作数组最后一个数作为中轴数X 2、以中轴数X作为中心,使用一次划分partition,使得中轴数左边的数都比X小,右边的数都比X大,换句话说经历过一次划分...
阅读全文