Commit Graph

252 Commits

Author SHA1 Message Date
bad8d68180 tree简化max和min代码实现,并且添加递归宏定义 2025-04-27 23:55:41 +08:00
4530508a1b tree修改node的new和free接口函数 2025-04-27 23:36:42 +08:00
eb918955f5 将iter相关配置,包括成员函数的配置,都放在iter的初始化中 2025-04-27 13:59:14 +08:00
4aa966bb93 修改iter的parent为_container,避免理解偏差 2025-04-27 13:42:30 +08:00
c70b007386 iter的node一定是当前节点,因此cur的前缀就有些多余了 2025-04-27 12:44:47 +08:00
4691b848ef 修改iter的成员属性_cur为_index更加直观 2025-04-27 12:41:10 +08:00
1982a90a3e tree删除非必要属性,把order遍历相关的操作都放在iterator中了 2025-04-27 11:43:57 +08:00
d278ef008f tree_order枚举类型重命名,防冲突 2025-04-27 11:41:20 +08:00
7b672b6e77 遍历中将node重命名为target更容易理解 2025-04-27 11:35:25 +08:00
6054e712e6 广度优先遍历:删除非必要代码 2025-04-27 11:28:09 +08:00
7a7af3152a _rebalance作为私有函数 2025-04-27 11:06:16 +08:00
59e5c9be71 获取树高的接口重新定义 2025-04-27 11:05:12 +08:00
932b078778 修改函数原型说明 2025-04-27 10:23:56 +08:00
1b5b69024e 在README中添加个人信息 并添加版本更新说明 2025-04-27 02:46:44 +08:00
313406970c 修改头文件的核心操作和基础操作顺序,方便一眼看出 2025-04-27 02:29:09 +08:00
4c6387427b 在README中添加函数原型 2025-04-27 02:06:07 +08:00
ca4ab10123 deque区分正向和反向遍历 2025-04-27 01:16:22 +08:00
9e270b7425 后续考虑matrix是利用list来实现还是直接函数指针实现。但考虑到用一维指针或者二维指针都有不方便的地方。 2025-04-27 00:16:44 +08:00
5fd74a4d15 dfs和bfs代码优化完毕,现在思路非常清晰了 2025-04-26 19:00:20 +08:00
9d5f71250e graph封装底层,让dfs和dfs代码看起来更加直观 2025-04-26 18:43:59 +08:00
5a2c2ceccc graph->DFS调试通过 2025-04-26 18:22:47 +08:00
5e83dc2917 思路楼乱了 2025-04-26 17:27:05 +08:00
43b237487a 无边的节点没有被压到栈中去 2025-04-26 16:02:16 +08:00
43706105bb graph的迭代器bfs遍历模式调试通过 2025-04-26 15:12:43 +08:00
98eb005a4a bfs的遍历还存在问题 2025-04-26 15:01:15 +08:00
ce973043d8 graph默认只对顶点进行遍历,后续实现bfs和dfs 2025-04-26 13:40:23 +08:00
3ac92de18e 边的核心操作都添测试通过了,但是我个人觉得写的不好。后续再考虑优化。 2025-04-25 18:19:22 +08:00
c411ee96eb add_edge调试通过,后续再区分是有向图还是无向图 2025-04-25 16:56:58 +08:00
f63aa4db0a 为什么from_node和to_node的obj不符合预期 2025-04-25 16:55:22 +08:00
7ad5631aec 目前edge打印还是有错误,from和to的顶点不对 2025-04-25 16:32:11 +08:00
c3ed2ab00d edge添加边代码修改 2025-04-25 16:11:40 +08:00
628df4c1a0 添加add_edge单元测试 2025-04-25 16:04:14 +08:00
49bc8b0cc4 添加add_edge的代码 2025-04-25 15:53:50 +08:00
6965fa1e25 添加edge的新建和释放函数 2025-04-25 14:07:37 +08:00
0520bb99ae 顶点链表方式调试通过 2025-04-25 14:04:14 +08:00
238c16c3ec graph删除顶点和查找顶点的接口都测试通过 2025-04-25 13:56:32 +08:00
163f3c55da vertex的添加代码实现并调试通过 2025-04-25 13:39:17 +08:00
46f1f365fb 添加新增的graph成员函数定义 2025-04-25 13:16:16 +08:00
af1a3703ba graph的vertex和edge结构体都重新定义,kernel函数也重新命名 2025-04-25 13:03:23 +08:00
b788dd74ee graph结构体node重新规划 2025-04-25 10:47:42 +08:00
c661ebaea6 【性能比较】添加常用数据结构时间复杂度和空间复杂度小结表 2025-04-25 10:29:49 +08:00
4fb9ed9d58 graph修改代码结构 2025-04-25 10:04:03 +08:00
14d64cc0a2 修改枚举类型,命名更加简洁 2025-04-25 01:47:58 +08:00
08ba5296be 暂时用不到的函数就先屏蔽了 2025-04-25 01:30:37 +08:00
ecc568bb90 将对外用不到的接口放在tree.c作为局部函数调用 2025-04-25 01:09:37 +08:00
3ed9fb8437 去掉tree的cur_node,和迭代器相关的都共用迭代器的_cur_node节点指针了 2025-04-25 00:56:25 +08:00
768c6586d3 删除4种遍历函数 2025-04-25 00:34:39 +08:00
d682bed186 tree的init函数调整 2025-04-25 00:28:14 +08:00
0a291edb3d 在示例中去掉原遍历接口 2025-04-25 00:21:43 +08:00
192f1962e6 删除非必要代码 2025-04-24 23:39:37 +08:00