二叉树可视化

本文介绍了二叉树的可视化工具,涵盖了随机二叉树、输入序列树、平衡与非平衡的搜索树(如平衡二叉树、红黑树),以及最优二叉搜索树、哈夫曼树和用于多维数据的KD树。此外,还提到了数据库中的B树和B+树的应用。
摘要由CSDN通过智能技术生成

运行演示

学习二叉树总是脑补图像,实在是恶心,就想写一个能可视化的二叉树,结果没控制好,功能越想越多,先整一个半成品吧,最起码能建立二叉树了。
功能包括创建随机二叉树,输入序列二叉树,前中序生成二叉树,二叉树平衡化,30多个结点表现还凑合,结点多了就难看了,毕竟指数增加。
红黑树还没搞清楚,手撕红黑树真的是烧脑,等整清楚了再来添加!~
在这里插入图片描述

代码和程序已上传

二叉树可视化程序和代码

二叉树知识

这个东西就是排序树,也叫搜索树,排序和搜索有时候混着用,一会儿叫搜索树一会儿叫排序树,挺坑爹的。看应用关注是排序还是搜索。

平衡二叉树

平衡二叉树是左右孩子高度差不大于1,这种树关注查找,通过牺牲插入和删除的效率让数据足够扁平,达到对数级别的性能。

红黑树

红黑树属于泛化的平衡二叉树,左右孩子高度差没有平衡二叉树严格,但是也有限制。没撕清楚。主要应用的也是搜索,可以说是平衡二叉树的实现。关注查找数据。STL的Map是利用红黑树实现的,这个也是道听途说,到底是不是还得翻代码确认。

最优二叉搜索树

最优二叉搜索树和哈夫曼树是静态数据分析建树。树建好以后改动少。带有统计意味,各种和概率挂钩。这个和哈夫曼树有点区别是需要考虑查找失败的情形。

哈夫曼树

和哈夫曼编码拉扯。应用也是静态数据,统计数据概率后编码一下。两端通信时想办法把编码树同步到对端。则发送的信息就可解码读取了,也可以算是一种加密方式。

KD树

多维数据划分,搜资料想到信息如果按照kd组织的话可以查找范围内数据。是不是比距离判定好些,也需要验证。

B树和B+树

数据库用到的多些,B树主要是构建目录,B+树数据存储在叶子节点。一个需要注意的是数据库存储都是在磁盘里面的,不是内存数据,从磁盘倒腾到内容代价太大,所以通过分页建立目录定位准确后一片一片的加载到内存来使用数据。

参考

数据结构
算法设计与分析
数据库系统

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

当当小螳螂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值