基本选择排序编辑 排序算法即解决以下问题的算法: 输入 n个数的序列<a1,a2,a3,...,an>。 输出 原序列的一个重排<a1*,a2*,a3*,...,an*>;,使得a1*<=a2*<=a3*<=...<=an* 排序算法有很多,包括插入排序,冒泡排序,堆排序,归并排序,选择排序,计数排 ...
分类:
编程语言 时间:
2017-09-09 12:00:59
阅读次数:
179
近几天在学习简单算法,今天看了一个快速排序和堆排序,堆排序还没搞懂,还是先把快速排序搞清楚吧 教程网上一艘一大堆,这里选择一个讲的比较通俗的的一个吧: http://blog.csdn.net/morewindows/article/details/6684558 于是我就模仿着谢了完整的代码,实现 ...
分类:
编程语言 时间:
2017-09-09 00:47:33
阅读次数:
181
本文节选自:http://python.jobbole.com/82270/ 本文用Python实现了插入排序、希尔排序、冒泡排序、快速排序、直接选择排序、堆排序、归并排序、基数排序。 1、插入排序 描述 插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序 ...
分类:
编程语言 时间:
2017-09-06 10:03:05
阅读次数:
226
堆排序原理可以参考,很生动:http://dsbryz.iteye.com/blog/1182056 ...
分类:
编程语言 时间:
2017-09-05 23:10:37
阅读次数:
228
分类: 1)插入排序(直接插入排序、希尔排序)2)交换排序(冒泡排序、快速排序)3)选择排序(直接选择排序、堆排序)4)归并排序5)分配排序(基数排序)所需辅助空间最多:归并排序所需辅助空间最少:堆排序平均速度最快:快速排序 不稳定:快速排序,希尔排序,堆排序。 1、冒泡算法(bubble)- -属 ...
分类:
编程语言 时间:
2017-09-05 13:31:16
阅读次数:
210
堆排序 堆排序前传 - 树与二叉树 树是一种很常见的非线性的数据结构,称为树形结构,简称树。所谓数据结构就是一组数据的集合连同它们的储存关系和对它们的操作方法。树形结构就像自然界的一颗树的构造一样,有一个根和若干个树枝和树叶。根或主干是第一层的,从主干长出的分枝是第二层的,一层一层直到最后,末端的没 ...
分类:
编程语言 时间:
2017-09-04 20:42:31
阅读次数:
162
1/排序算法:冒泡排序bubble sort,插入排序 insertion sort,选择排序 selection sort,快速排序 quick sort,归并排序 merge sort;堆排序 heap sort 基于排序 桶排序bucket sort 一种特殊情况下的排序。 2/实现 1)冒泡 ...
分类:
其他好文 时间:
2017-09-03 10:11:26
阅读次数:
207
本文讲述时间复杂度为n*logn的排序算法:归并排序、快速排序、堆排序以及希尔排序的原理、Java实现以及变形应用。 一、归并排序 原理:把两个有序数列合并为一个有序数列。需递归实现。 Java实现: 二、快速排序 原理:每一次将一个数放在一个左边的数全部比它小,且右边的数全部比它大的位置,然后递归 ...
分类:
编程语言 时间:
2017-08-30 10:00:28
阅读次数:
276
package cn.xf.algorithm.ch09Greedy.util; import java.util.ArrayList; import java.util.List; /** * 堆构造以及排序 * * .功能:堆的构造 * 1、堆可以定义为一颗二叉树,树的节点包含键,并且满足一下条... ...
分类:
编程语言 时间:
2017-08-28 00:44:45
阅读次数:
121