代码实现可到此处下载:http://download.csdn.net/detail/elcarim/6759963
当前代码工程中包含了 堆排序、快速排序、二叉查找树,后面会持续更新。
先放上代码实现,原理有时间再写。
特别的是,这次实现了一个打印二叉树结构的方法,这样在调试二叉查找树和红黑树的程序时,可以方便的观察到增加删除操作对树结构的影响。
打印树结构的代码片段:
void BSTree::PrintTreeStruct()
{
int height = GetHeight(GetRoot());
int max_leaf = 1 << height;
int ** map = (int **)malloc(sizeof(int *) * height);
for (int i = 0; i < height; ++i)
{
map[i] = (int *)malloc(sizeof(int) * max_leaf);
memset(map[i], 0, sizeof(int) * max_leaf);
}
FixCoordinate(height, GetRoot(), map);
for (int i = 0; i < height; ++i)
{
for (int j = 0; j < max_leaf; ++j)
{
if (0 == map[i][j])
{
printf("___");
}
else
{
printf("%3d", map[i][j]);
}
}
printf("\n");
}
for (int i = 0; i < height; ++i)
{
free(map[i]);
}
free(map);
}
效果:
9为树的根节点,空节点有“___”填充,可根据喜好自行修改。
分享到:
相关推荐
示例 1:输出: 4示例 2:输出: 4限制:1 ≤ k ≤ 二叉搜索树元素个数链接:
在计算机科学中,AVL树是最先发明的自平衡二叉查找树。在AVL树中任何节点的两个子树的高度最大差别为1,所以它也被称为高度平衡树。增加和删除可能需要通过一次或多次树旋转来重新平衡这个树。AVL树得名于它的发明者...
各种数据结构、算法及实用的C#源代码 C#,自平衡二叉查找树(AVL Tree)的算法与源代码 自平衡二叉查找树(AVL Tree)中任何节点的...也就是说,AVL树,本质上是带了平衡功能的二叉查找树(二叉排序树,二叉搜索树)。
Genetic_Algorithm_for_spase_array_多阵元_多目标旁瓣_阵元数_遗传算法_阵列稀疏.zip
algorithm algorithm STL 算法 algorithm_头文件_说明 algorithm algorithm STL 算法 algorithm_头文件_说明 algorithm algorithm STL 算法 algorithm_头文件_说明
本书是《Data Structures and Algorithm Analysis in C》一书第2版的简体中译本。原书曾被评为20世纪顶尖的30部计算机著作之一,作者Mark Allen Weiss在数据结构和算法分析方面卓有建树,他的数据结构和算法分析的...
拆点,可以给每个点两个编号,一个负责入边,一个负责出边,把1 拆成 1 * 2 = 2 与 1 * 2 + 1 = 3,把 3 拆成 3 * 2 = 6 与 3
algorithm. And the dual grouping of population and decision variables was realized. Next, the performance of the novel optimization on the set of benchmark functions provided for the CEC2013 Special ...
algorithm_learn 算法学习 java语言实现
python graph algorithm
This is an algorithm widely used for Target tracking more specifically for observation to track association.
algorithm_learn PAT,LEETCODE
Genetic_Algorithm_optimize_the_phases_of_antenna_array 相控阵的遗传优化算法
A_Genetic_Algorithm_for_Function_Optimization_A_Matlab_Implementation
K-SVD_An_algorithm_for_designing_overcomplete_dictionaries_for_sparse_represe
pso algorithm for optimization
面试中经常考到的算法:查找与排序、链表、数据结构、数组、动态规划、堆栈、队列、二分查找等等
_PCA_algorithm_to_recognize_face.zip
用于EM算法