上一页 1 ··· 22 23 24 25 26 27 28 29 30 ··· 111 下一页
摘要: 环境 Time 2022-04-26 Rust 1.60.0 前言 说明 基于标准库来学习各种数据结构,并不是从头实现数据结构,未考虑实现性能。 B-树是一种多路搜索树,在标准库中已有相应的实现。 一般编程语言会使用二叉搜索树(BST)来实现有序 Map 和 Set,而 Rust 选择了 B-树。 阅读全文
posted @ 2022-07-31 20:54 jiangbo4444 阅读(239) 评论(0) 推荐(0)
摘要: 环境 Time 2022-04-25 Rust 1.60.0 前言 说明 基于标准库来学习各种数据结构,并不是从头实现数据结构,未考虑实现性能。 实现伸展树的插入、检索和删除方法的测试。 示例 测试模块 #[cfg(test)] mod tests { use super::*; } 插入 #[te 阅读全文
posted @ 2022-07-30 23:33 jiangbo4444 阅读(58) 评论(0) 推荐(0)
摘要: 环境 Time 2022-04-25 Rust 1.60.0 前言 说明 基于标准库来学习各种数据结构,并不是从头实现数据结构,未考虑实现性能。 下面实现增加、检索和删除方法。 参考资料:https://www.geeksforgeeks.org/splay-tree-set-1-insert/。 阅读全文
posted @ 2022-07-30 23:32 jiangbo4444 阅读(50) 评论(0) 推荐(0)
摘要: 环境 Time 2022-04-25 Rust 1.60.0 前言 说明 基于标准库来学习各种数据结构,并不是从头实现数据结构,未考虑实现性能。 伸展树也是一种可以自平衡的二叉搜索树,并且可以不计算节点的高度和平衡因子信息。 下面实现伸展方法,参考资料:https://www.geeksforgee 阅读全文
posted @ 2022-07-30 23:29 jiangbo4444 阅读(69) 评论(0) 推荐(0)
摘要: 环境 Time 2022-04-22 Rust 1.60.0 前言 说明 基于标准库来学习各种数据结构,并不是从头实现数据结构,未考虑实现性能。 之前使用递归的方式实现平衡二叉树的插入和删除方法,下面使用迭代实现。 示例 插入 fn insert(&mut self, value: T) { let 阅读全文
posted @ 2022-07-30 23:28 jiangbo4444 阅读(98) 评论(0) 推荐(0)
摘要: 环境 Time 2022-04-21 Rust 1.60.0 前言 说明 基于标准库来学习各种数据结构,并不是从头实现数据结构,未考虑实现性能。 实现平衡二叉树的插入、检索和删除方法的测试。 示例 测试模块 #[cfg(test)] mod tests { use super::*; } 插入 #[ 阅读全文
posted @ 2022-07-30 23:27 jiangbo4444 阅读(69) 评论(0) 推荐(0)
摘要: 环境 Time 2022-04-21 Rust 1.60.0 前言 说明 基于标准库来学习各种数据结构,并不是从头实现数据结构,未考虑实现性能。 实现平衡二叉树的插入和删除方法。 示例 结构定义 基于二叉搜索树实现。 use std::cmp::Ordering; use super::{binar 阅读全文
posted @ 2022-07-30 23:25 jiangbo4444 阅读(42) 评论(0) 推荐(0)
摘要: 环境 Time 2022-04-21 Rust 1.60.0 前言 说明 基于标准库来学习各种数据结构,并不是从头实现数据结构,未考虑实现性能。 二叉树有个不好的地方,就是在最坏情况下,可能退化成单链表的结构。 比如按从小到大的顺序插入,节点都在右孩子上,平衡二叉树(AVL)可以解决这种情况。 示例 阅读全文
posted @ 2022-07-30 23:23 jiangbo4444 阅读(133) 评论(0) 推荐(0)
摘要: 环境 Time 2022-04-21 Rust 1.60.0 前言 说明 基于标准库来学习各种数据结构,并不是从头实现数据结构,未考虑实现性能。 实现了二叉搜索树的插入、检索和删除测试。 示例 测试模块 #[cfg(test)] mod tests { use super::*; } 插入 #[te 阅读全文
posted @ 2022-07-30 23:22 jiangbo4444 阅读(55) 评论(0) 推荐(0)
摘要: 环境 Time 2022-04-21 Rust 1.60.0 前言 说明 基于标准库来学习各种数据结构,并不是从头实现数据结构,未考虑实现性能。 相比较二叉树,二叉搜索树的左节点都比父节点小,右节点都比父节点大。 基于二叉树来实现二叉搜索树,实现删除方法。 示例 引入模块 pub mod binar 阅读全文
posted @ 2022-07-30 23:21 jiangbo4444 阅读(78) 评论(0) 推荐(0)
上一页 1 ··· 22 23 24 25 26 27 28 29 30 ··· 111 下一页