有这样的一个网络地址表示法 192.168.125.0/27 前面的 192.168.125.0 表示是网络地址,后面的 27 表示子网掩码的二进制表示从头开始的 1 的位数, 这里是前 27 为都是 1,二级制表示为 11111111111111111111111111100000 对应
[……]阅读全文
我悄悄地离开,在昨天;今天我又静静地到来
有这样的一个网络地址表示法 192.168.125.0/27 前面的 192.168.125.0 表示是网络地址,后面的 27 表示子网掩码的二进制表示从头开始的 1 的位数, 这里是前 27 为都是 1,二级制表示为 11111111111111111111111111100000 对应
[……]阅读全文
快速排序是一种采用分治法的比较排序算法。
一般分为三个步骤完成:
一、分解:将数组 A[p..r] 分解为两个(可能为空)子数组 A[p..q – 1] 和
A[q + 1..r],使得 A[p..q – 1] 中的每个元素都小于等于 A[q],而且,
A[q + 1..r] 中的每个元素都[……]阅读全文
堆排序是一种以(二叉)堆为数据结构来管理算法执行的原地排序算法。
二叉堆是一种数组对象,可以被视为一颗完全二叉树。二叉堆分为最大堆和最小堆。
对于数组:
[20, 17, 13, 12, 10, 9, 7, 6, 5,2, 1]
它可以就可视为一个最大堆,一下为一个二叉树的示意图[……]阅读全文
想做一个算法的演示工具,需要随机对一个有序的数据随机打乱。
那么先想到的就是在数组中随机选择两个不同的下标,并对其中的元素进行交换,
实现起来很简单,代码如下。
function shuffle(aArr){ var iLength = aArr.length, i = iLengt
[……]阅读全文
插入排序(insetion sort),就是将每个带排序序元素逐个插入到有序元素序列中的合适位置。
function insertSortBasic(aArr){ var iLength = aArr.length, i, j, k, mTemp; for(i =
[……]阅读全文