2008年11月程序员笔试考前练习(41)
阅读下面的说明和流程图,并在答题卡的相应栏中写下带有(n)的语句。
[流程图描述]
下面的流程(如图1所示)以N-S箱线图的形式描述了在二叉树排序中寻找元素的过程。一个节点有三个成员:数据、左和右。搜索方法是:首先,与树的根节点的元素值进行比较;如果相等,找到它们并返回这个节点的地址;如果要查找的元素小于根节点的元素值,指针指向该节点的左子树,继续查找;如果要搜索的元素大于根节点的元素值,指针指向该节点右边的子树,继续搜索。直到指针为空,也就是说你要找的元素在这棵树上不存在。
[算法描述]
[流程图]
上面问题的排序二叉树中寻找元素的过程是用递归的方法实现的。其中节点是自定义类型:
typedef结构节点{
int data;
结构节点* left
结构节点*右;
}节点;
[算法]
node * search sort tree(node * tree,int e)
{
if(树!= NULL)
{
if(tree-> datadataleft
(2)P = P-> right
(3)return P
(4)return search sort tree(tree-> left)
(5)return search sort tree(tree-> right)
0条评论