
数据结构与算法
文章平均质量分 79
counting_stars123
这个作者很懒,什么都没留下…
展开
-
一文搞懂数据结构之堆
完全二叉树 定义:一棵二叉树,除最后一层外都是满的。最后一层的节点集中在左边。 完全二叉树的节点可以按层序遍历的顺序放入数组。注意数组的第0位不存放信息,根节点放在第1位。 上图中的完全二叉树就可以以一个数组的形式存储:{#,1, 2, 3, 4, 5, 6, 7, 8, 9, 10} 为什么要这么存放?因为从下标为1的位置开始存放(也称为基1) ,当一个结点的下标为k时,下标为 [k/2] 的结点 就是它的根节点。下标为[2k] 和 [2k+1] 的结点就是它的左孩子结点和右孩子结点。 堆 堆是一个完全原创 2021-04-01 16:53:59 · 125 阅读 · 0 评论 -
数据结构与算法之排序
数据结构与算法之排序 插入排序 步骤: 1.把所有的元素分为两组,已经排序的和未排序的; 2.找到未排序的组中的第一个元素,向已经排序的组中进行插入; 3.倒叙遍历已经排序的元素,依次和待插入的元素进行比较,直到找到一个元素小于等于待插入元素,那么就把待插入元素放到这个位置,其他的元素向后移动一位; 我的理解 在代码实现方面,插入排序是遍历数组中每一个元素,其之前的子数组都是已经从小到大排序好的数组。对每一个元素进行插入排序都是在进行一个子循环。 举个例子: 2 3 5 6 7 | 4 8 0原创 2021-03-17 03:33:26 · 250 阅读 · 0 评论