c语言二叉排序树问题 10
撰写一个程序,能够构建字符串型的二叉排序树并在二叉排序树中查找节点。所谓二叉排序树,简而言之,是一个每个节点可指向0、1或2个节点的递归的数据结构。最上层的一个节点称为树...
撰写一个程序,能够构建字符串型的二叉排序树并在二叉排序树中查找节点。
所谓二叉排序树,简而言之,是一个每个节点可指向 0、1 或 2 个节点的递归的数据结构。最上层的一个节点称为树根。二叉排序树服从凡是比当前节点小的值都在其左下方,比当前节点大的值都在其右下方的规律。该规律不仅适用于树的局部,也适用于整棵二叉排序树。
例如,在给定 Kiwi, Banana, Apple, Melon, Berry 的输入字符串的顺序下,以此构建二叉排序树的过程为:(如图片所示)
建树后,请根据给定的字符串,查找树中是否有该节点。若有,返回其节点在所在的层次数(根节点Kiwi的层次定义为0);若无,返回“Not Found”。
题目要求:
输入:
每行一个字符串,作为要插入二叉排序树的值。若单独一个*字符占一行,则表明用于建树的字符串输入数据结束。随后以[Search]开始的若干行,代表要在树中查找某个字符串值,用于查找的字符串紧跟其后。
若输入行的第一个字符为“#”,则表示输入数据结束。
输出:
输出每个要查找的值所在的层次数。
例如
输入
Kiwi↵
Banana↵
Apple↵
Melon↵
Berry↵
*↵
[Search]Berry↵
[Search]Strawberry↵
#↵
输出
Berry-2↵
Strawberry-Not Found↵
我要能在TC2.0下运行正确的程序,万分感谢! 展开
所谓二叉排序树,简而言之,是一个每个节点可指向 0、1 或 2 个节点的递归的数据结构。最上层的一个节点称为树根。二叉排序树服从凡是比当前节点小的值都在其左下方,比当前节点大的值都在其右下方的规律。该规律不仅适用于树的局部,也适用于整棵二叉排序树。
例如,在给定 Kiwi, Banana, Apple, Melon, Berry 的输入字符串的顺序下,以此构建二叉排序树的过程为:(如图片所示)
建树后,请根据给定的字符串,查找树中是否有该节点。若有,返回其节点在所在的层次数(根节点Kiwi的层次定义为0);若无,返回“Not Found”。
题目要求:
输入:
每行一个字符串,作为要插入二叉排序树的值。若单独一个*字符占一行,则表明用于建树的字符串输入数据结束。随后以[Search]开始的若干行,代表要在树中查找某个字符串值,用于查找的字符串紧跟其后。
若输入行的第一个字符为“#”,则表示输入数据结束。
输出:
输出每个要查找的值所在的层次数。
例如
输入
Kiwi↵
Banana↵
Apple↵
Melon↵
Berry↵
*↵
[Search]Berry↵
[Search]Strawberry↵
#↵
输出
Berry-2↵
Strawberry-Not Found↵
我要能在TC2.0下运行正确的程序,万分感谢! 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询