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