- 博客(3)
- 收藏
- 关注
原创 堆排序(JavaScript实现)
堆排序(JavaScript实现) 1. 堆 堆排序是利用堆这种数据结构而设计的一种算法,堆近似于完全二叉树的结构,并同时满足堆的性质,子节点键值总是小于父节点键值(大顶堆),堆排序是一种选择排序,也是一个不稳定的算法。 大顶堆:每个节点的值都大于或等于其子节点的值,在堆排序算法中用于升序排列; 小顶堆:每个节点的值都小于或等于其子节点的值,在堆排序算法中用于降序排列; 用来存放树的数据结构可以用链式结构或者线性结构存放,这里就用线性结构存放。 使用数组存放树,树节点编号映射到数组: 2.
2021-05-18 17:01:11
418
1
原创 选择排序(JavaScript实现)
选择排序(JavaScript实现) 1. 选择排序基本原理 首先在未排序序列中找到最小(大)元素,存放到排序序列的首位。这就有了已排序序列,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。 2.具体步骤 1、初始状态:无序序列:arr[0……n]共n个元素。 2、第一次排序,设置一个变量i,让i从0到n循环,在对比元素i同元素j (i + 1)大小,如果arr[ j ]比arr
2021-05-07 20:36:55
971
原创 插入排序及其时间复杂度(JavaScript实现)
插入排序基本原理 动图演示 伪代码 JavaScript实现 时间复杂度 1. 插入排序基本原理 将一个无序序列,分成两部分,一部分是已排序序列,另一部分是未排序序列。 然后将未排序序列第一个元素看作是待排序序列,把未排序序列第二个元素到最后一个元素当成是未排序序列。把待排序序列从头依次扫描已排序序列元素,直到找到比自身小的元素,然后插入在比自身小的元素后面。 2. 动图演示 假设对n个元素进行插入排序,则需要进行n-1趟排序。 3.伪代码 for i ← 0 to n > ke.
2021-04-28 18:28:21
509
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人