我该如何平衡一棵退化的树?C++数据结构
How would I balance a degenerate tree? C++ Data Structure
我目前正在使用C++学习数据结构。我理解在插入新节点时如何平衡二进制搜索树。
然而,如果您已经有一个退化树(单个链表(,并且希望在不创建新树的情况下平衡它,该怎么办?总之,如何使用现有节点将退化树重新组装为完整的树?(使用旋转方法(
例如,我的节点保存(9个节点(的数据:1、3、6、9、12、15、18、21、24
我需要先推一下。我甚至不知道从哪里开始。。我感谢你的帮助。
相关文章:
- C++,您能否设计一种数据结构,将指针保存在连续内存中并且不会使它们失效?
- 一种有效的数据结构,用于按 ID 访问和查找加权随机项
- 我该如何平衡一棵退化的树?C++数据结构
- (C++)如何修改/使用数据结构,以便我们可以一次又一次地使用它们?
- cpp 中是否存在一种数据结构,可以轻松地提供一种基于已存在的实例构建新结构的方法
- 一种按排序顺序保持元素的数据结构,支持快速插入和计算连续元素之间的最大差异
- 在高性能计算中更好的做法是:将数据结构传递到一个函数或一组变量中
- 对一组数字进行排序的最快数据结构(和排序算法)是什么
- 实现一套覆盖数据结构
- 寻找一种提供随机和"sequential"访问的数据结构
- 如何在C++中使用双(**)指针来处理一般的树数据结构
- 一种用于整数的下界和上界查询的快速数据结构
- 一种单一的数据结构,用于从脚本中读取任意类型的变量,以便在运行时进行检索和编辑
- 管理一组对象,以便被保存的对象可以访问保存它们的数据结构
- 更改一组数据结构中元素的值
- 在c++中是否有一种数据结构可以在达到指定的大小阈值时自动退出
- 当需要修改元素时,另一种类似集合的数据结构是什么?
- c++中使用哪一种数据结构来处理庞大的常量字典
- c++中一组分组数据的数据结构
- 在数据结构中保存成员的另一种方法