数据结构代码实现
Valishment
这个作者很懒,什么都没留下…
展开
-
红黑树数据结构讲解(附Java实现代码)
2-3查找树定义 1.任意空链接到根节点的路径长度都是相等的 2. 4-结点变换为3-结点时, 树的高度不会发生变化, 只有当根节点是临时的4-结点时, 分解根节点后, 树的高度+1 3.普通二叉查找树是自顶向下生长的, 2-3查找树的自底向上生长的 都是2-3查找树 (插入节点过程中产生的4-结点是临时的!) 红黑树定义 在满足2-3查找树的前提上, 使用对结点间链接的==“标记” == 以 颜色有两种: 红色 模拟2-3查找树中的3-结点 黑色 普通的结点链接形式 性质: 红链接均为左连接 2原创 2020-10-27 20:20:06 · 323 阅读 · 2 评论 -
四种常用排序方式(Java实现)
插入排序 排序原理: 1.把所有的元素分为两组,已经排序的和未排序的; 2.找到未排序的组中的第一个元素,向已经排序的组中进行插入; 3.倒叙遍历已经排序的元素,依次和待插入的元素进行比较,直到找到一个元素小于等于待插入元素,那么就把待插入元素放到这个位置,其他的元素向后移动一位; 原理如图: 第一次操作: 指针指向第二个元素, 将其与前一个元素进行比较 如果满足条件, 则进行交换, 同时指针前移一位, 重复上述步骤, 直到指针到达数组的头 否则说明已经成有序列, 退出当前循环; 第二次操作: 指针指向第原创 2020-08-02 21:42:57 · 317 阅读 · 0 评论 -
快速解决克鲁斯卡尔和普里姆算法--C++实现(CSP通过)
关于此算法的思想. 具体可以参照 最小生成树视频演示(bilibili上的) 此视频演示是我的头号参照, 大量文字叙述算法只会帮倒忙, 必要部分进行画图陈述 克鲁斯卡尔算法(有向图形式): 先将其封装为一个个的方法, 方便代码重用 /* 从上至下的方法作用: */ int getIndexOfRepresentative(const int index); // 递归获取该编号节点的根节点索引 void merge(const int index1, const int index2); // inde原创 2020-06-09 16:27:43 · 467 阅读 · 0 评论