Category Archives: javascript

ip地址/子网掩码 表示什么,以及如何计算

有这样的一个网络地址表示法 192.168.125.0/27
前面的 192.168.125.0 表示是网络地址,后面的
27 表示子网掩码的二进制表示从头开始的 1 的位数,
这里是前 27 为都是 1,二级制表示为
11111111111111111111111111100000
对应

[……]阅读全文

快速排序 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]




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

javascript shuffle(随机打乱数组)

想做一个算法的演示工具,需要随机对一个有序的数据随机打乱。
那么先想到的就是在数组中随机选择两个不同的下标,并对其中的元素进行交换,
实现起来很简单,代码如下。

function shuffle(aArr){
	var iLength = aArr.length,
		i = iLengt

[……]阅读全文

算法-插入排序(insetion sort)

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

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

[……]阅读全文