|
0a97fc74b4
|
最小堆也调试通过
|
2024-07-04 15:49:17 +08:00 |
|
|
90d8cd340b
|
实测最大堆通过
|
2024-07-04 15:45:02 +08:00 |
|
|
cb580e7058
|
先把heap的基本框架搭建起来
|
2024-07-04 15:20:06 +08:00 |
|
|
6243c46d63
|
累了,明天再写吧
|
2024-07-03 17:42:35 +08:00 |
|
|
97cfafafa2
|
添加堆操作
|
2024-07-03 17:24:26 +08:00 |
|
|
b4cb7f7a3d
|
全功能测试ok
|
2024-07-03 15:27:42 +08:00 |
|
|
7c1c811ea1
|
修改下注释
|
2024-07-03 14:41:41 +08:00 |
|
|
f58873baaa
|
修改deque,将头节点和尾节点拆开。方便代码理解。
|
2024-07-03 14:23:04 +08:00 |
|
|
7715825de9
|
将avl和rbt公用的函数重命名
|
2024-07-02 16:07:09 +08:00 |
|
|
91d6976009
|
删除旧版rbtree代码,已经现有代码中不必要的代码。
|
2024-07-02 15:52:20 +08:00 |
|
|
73fd6176ae
|
rbt实测结构体也是ok的
|
2024-07-02 15:12:49 +08:00 |
|
|
590a50d9e7
|
红黑树调试通过
|
2024-07-02 15:03:57 +08:00 |
|
|
71ba5642ae
|
添加出错说明
|
2024-07-02 14:46:35 +08:00 |
|
|
68706331a1
|
实现tree_rb_check方便直接定位问题
|
2024-07-02 14:43:12 +08:00 |
|
|
8d2e254c3e
|
单步跟进,确认rbt插入没问题了
|
2024-07-01 14:51:52 +08:00 |
|
|
454147ec81
|
我觉得这里是可以优化的,但是删除还是卡死。
|
2024-07-01 11:44:38 +08:00 |
|
|
e3f59e2b90
|
修复一个bug,红黑树的左右旋直接调用了AVL树的左右旋转,里面有平衡参数的设置,导致冲突。
|
2024-07-01 11:09:38 +08:00 |
|
|
bbc21c85a3
|
修改插入修复完成后,没有把grandfather重新赋值给node的bug
|
2024-07-01 09:54:50 +08:00 |
|
|
571b28fb4f
|
修改一下红黑树插入的错误问题
|
2024-06-28 16:50:01 +08:00 |
|
|
b0de90becf
|
为什么还不行?
|
2024-06-28 11:45:43 +08:00 |
|
|
6cd3356bdb
|
删除的情况,似乎考虑全了。但是为什么还会出错
|
2024-06-28 11:40:21 +08:00 |
|
|
e1763db190
|
添加注释和理解
|
2024-06-28 11:32:53 +08:00 |
|
|
0901b08417
|
添加注释
|
2024-06-27 21:27:32 +08:00 |
|
|
3a05a02979
|
rbtree删除还存在问题,后续理清思路再继续写
|
2024-06-26 01:11:35 +08:00 |
|
|
5f6790687f
|
添加备注
|
2024-06-25 18:16:07 +08:00 |
|
|
bd3258010a
|
红黑树插入实现完成,如果检测其正确性呢?
|
2024-06-25 18:02:47 +08:00 |
|
|
411f0c1fa5
|
修改一下函数命名错误的点
|
2024-06-25 17:55:43 +08:00 |
|
|
19ac6dbf49
|
将avl_rebalance函数也修改成非递归的实现方式
|
2024-06-25 14:12:21 +08:00 |
|
|
f744410a4c
|
先添加了color读取和设置方式
|
2024-06-25 13:36:02 +08:00 |
|
|
18677a64cd
|
删除旧代码并添加获取最大值和最小值的函数
|
2024-06-25 13:16:04 +08:00 |
|
|
82c5a881e7
|
新增clear代码并删除非必要注释
|
2024-06-25 13:05:34 +08:00 |
|
|
d7a05df2f4
|
利用队列实现树的高度计算
|
2024-06-25 11:45:27 +08:00 |
|
|
229e3f1140
|
经过分析,发现还是原来的代码,对前序、中序、后序三种遍历方式写的简介。于是就参考并优化了当前代码。
|
2024-06-25 10:50:21 +08:00 |
|
|
1f6dea6a67
|
后序遍历也使用栈实现了
|
2024-06-25 10:03:25 +08:00 |
|
|
4fa3a06e8a
|
用栈实现求高度,另外优化中序遍历代码。
|
2024-06-25 09:47:43 +08:00 |
|
|
6c7ce7f04e
|
合并远程分支
|
2024-06-25 09:13:01 +08:00 |
|
|
3316ce981a
|
中序遍历用栈实现了一下,虽然判断条件有点多。以后再考虑优化
|
2024-06-24 22:59:28 +08:00 |
|
|
05bfb65d8e
|
前序遍历用栈实现
|
2024-06-24 17:52:08 +08:00 |
|
|
00ae16c777
|
测试示例的显示方式修改
|
2024-06-24 17:25:59 +08:00 |
|
|
904c6f99ff
|
大功告成!AVL树调试通过
|
2024-06-24 17:16:07 +08:00 |
|
|
6dc2271ab8
|
修改左旋和右旋不合理导致卡死的情况
|
2024-06-24 16:59:42 +08:00 |
|
|
3a2357e2a8
|
注释掉非必要代码,实测原来旧工程的删除操作是正确的。我现在这个删除3的时候,没有合适的rebalance
|
2024-06-24 15:00:56 +08:00 |
|
|
59e84f7131
|
删除节点时有概率卡死
|
2024-06-24 14:00:09 +08:00 |
|
|
ca4bf14b0c
|
可以确认,插入上没有问题!
|
2024-06-24 13:14:07 +08:00 |
|
|
49b8c92ad1
|
实测发现删除6的时候,parent指向错误
|
2024-06-24 11:49:12 +08:00 |
|
|
9a3a3f84a8
|
插入流程调试通过
|
2024-06-24 11:07:18 +08:00 |
|
|
73f63fb411
|
存在插入数据时,在特定情况下没翻转的bug
|
2024-06-24 10:51:12 +08:00 |
|
|
a8d378570f
|
修改判定方式,用2和1来判定更加合理,代码量少。
|
2024-06-24 10:23:05 +08:00 |
|
|
202832f29c
|
balance=0时不需要旋转
|
2024-06-24 10:15:54 +08:00 |
|
|
4c450fd157
|
修复删除根节点的bug
|
2024-06-24 09:43:40 +08:00 |
|