Tag Archives: sort

快速排序 quicksort

快速排序是一种采用分治法的比较排序算法。
一般分为三个步骤完成:
一、分解:将数组 A[p..r] 分解为两个(可能为空)子数组 A[p..q – 1] 和
A[q + 1..r],使得 A[p..q – 1] 中的每个元素都小于等于 A[q],而且,
A[q + 1..r] 中的每个元素都[……]阅读全文

堆排序 Heapsort

堆排序是一种以(二叉)堆为数据结构来管理算法执行的原地排序算法。
二叉堆是一种数组对象,可以被视为一颗完全二叉树。二叉堆分为最大堆和最小堆。
对于数组:

[20, 17, 13, 12, 10, 9, 7, 6, 5,2, 1]




它可以就可视为一个最大堆,一下为一个二叉树的示意图[……]阅读全文

算法-插入排序(insetion sort)

插入排序(insetion sort),就是将每个带排序序元素逐个插入到有序元素序列中的合适位置。

function insertSortBasic(aArr){
	var	iLength = aArr.length,
		i,
		j,
		k,
		mTemp;
	for(i =

[……]阅读全文

算法-冒泡排序(bubble sort)

现在想再次巩固一下算法。重新温习一边,并用javascript一些示例。

冒泡排序(bubble sort),最基础的排序算法,它重复遍历要排序的数组,一次比较两个元素,如果他们的顺序错误就把他们交换过来。重复遍历数组 直到不需要交换为止,即数组完成排序。

次算法的基本过程:为了便于理解[……]阅读全文