在Rust中实现二叉树

发布时间:2024-01-09 16:03
最后更新:2024-06-20 22:38
所属分类:
Rust

二叉树算得上是数据结构中的一种基础结构,在二叉树的基本操作中集中了大量数据结构设计中的常用操作。但是由于Rust语言特性的设计,在其他寓言中十分方便就可以实现的功能,在Rust中就需要绕一段路,二叉树的实现就是这样的一个典型例子。


索引标签
Rust
算法设计
数据结构
二叉树

自平衡二叉树

发布时间:2021-04-13 12:09
最后更新:2021-04-13 12:09
所属分类:
架构知识 算法设计

普通的二叉查找树(BST)虽然已经实现了对于节点的快速查找,但是如果树的拓扑结构没有设计正确,例如将一个有序序列存入BST中,就会使BST的二分查找能力损失,也就是常说的失去了平衡。为了保证BST的查找能力,在BST形成过程中进行平衡调整,就形成了平衡二叉查找树,简称平衡二叉树(AVL-tree)。


索引标签
架构知识
算法设计
树形结构
数据结构
二叉树
平衡二叉树
Java

二叉查找树

发布时间:2021-04-13 11:16
最后更新:2021-04-13 11:16
所属分类:
架构知识 算法设计

二叉查找树(Binary Search Tree,BST)是一种特殊的二叉树,BST通过定义节点的左孩子和右孩子的约定关系,提升了二叉树节点的搜索效率。


索引标签
架构知识
算法设计
树形结构
数据结构
二叉树
查找树
Java

二叉树基础

发布时间:2021-04-12 14:00
最后更新:2021-04-12 14:00
所属分类:
架构知识 算法设计

二叉树(Binary Tree)是指树中的所有节点的度都不大于2的树,也就是说,二叉树中的所有节点最多只有2个子节点。二叉树的每个节点有左树和右树之分,而节点的左树和右树同样也是二叉树。


索引标签
架构知识
算法设计
树形结构
数据结构
二叉树
Java

时间复杂度

发布时间:2021-04-10 20:52
最后更新:2021-04-10 20:52
所属分类:
架构知识 算法设计

时间复杂度是我们衡量和筛选算法的一个常用考量维度,如何理解并使用它,是我们日常工作学习中常常会用到的,但是只要一段时间不用它是会很快被忘记的。所以这里把时间复杂度的概念简要记录一下,方便使用的时候能够快速恢复记忆。


索引标签
架构知识
算法设计
大O符号表示法
时间复杂度
Python