编写出算法求二叉搜索树中的关键字最大的元素!..." />
当前位置: 代码迷 >> C语言 >> [询问] jzh2004
  详细解决方案

[询问] jzh2004

热度:440   发布时间:2004-06-12 00:56:00.0
[询问] jzh2004

document.body.clientWidth*0.5) {this.resized=true;this.width=document.body.clientWidth*0.5;this.style.cursor='pointer';} else {this.onclick=null}" alt="" /> 编写出算法求二叉搜索树中的关键字最大的元素!

“p=root;

while(p->righr!=NULL)p=p->right”

这样能行吗?你看看上边那张图片,若是如此,能够查找到最大元素么?

搜索更多相关的解决方案: 询问  

----------------解决方案--------------------------------------------------------
像这样的问题,我们首先要建立他的模型,像这样的模型,有个特点,从一个节点出发至多有两个引发点,我们可以引入梯度这样一个参考变量,作为判断搜寻是否结束,当达到最高梯度,(如果你定义出发点为最低梯度的话),则结束搜寻. 在搜寻过程中,将max 始终与当前数值比较,取最大数值为 max, 这样搜寻结束就找到了 max.
----------------解决方案--------------------------------------------------------
他本来就是二叉检索树,所以不用判断max了,直接指到最右结点就好了
----------------解决方案--------------------------------------------------------
没明白你的意思,这个max 是有可能在任何一个节点上的呀,怎么叫直接指到最右结点就好了,最右结点又不一定是 max 所处的节点。
----------------解决方案--------------------------------------------------------

根据二叉检索树的定义

最大的关键字必然在最右的结点上啊


----------------解决方案--------------------------------------------------------

那就暂时先保存你的思路,希望考试时这样写分数不会<60

若是版主编译出完整的程序,希望及时发表上来!


----------------解决方案--------------------------------------------------------
难道你考试题目你都知道的?
----------------解决方案--------------------------------------------------------

提纲上有,就一定会有类试的试题,马上要考试了,现在也停课了,老师也不知道跑到那里去了,麻烦大了!

只好在论坛上找个高手顶住了,可怜啊!


----------------解决方案--------------------------------------------------------

jzh2004

你的定义哪里看来的? 你自己看看图就知道了呀,那个最大元素是 74, 那个点是最右的结点吗?


----------------解决方案--------------------------------------------------------

又有个傻瓜问题想问问你,我看见有个语句,Prinf("%d\n",n),我上次问过你一个问题,就是关于scanf("%d,&n)你告诉过我%d是代表整型,程序是读取一个整形、型数据给变量N,那现在%d\n又是什么意思?可否告知在下!


----------------解决方案--------------------------------------------------------
  相关解决方案