| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4005 人关注过本帖
标题:二叉查找树的删除结点问题
只看楼主 加入收藏
达尔文
Rank: 2
等 级:论坛游民
帖 子:84
专家分:29
注 册:2015-8-22
结帖率:100%
收藏
已结贴  问题点数:50 回复次数:3 
二叉查找树的删除结点问题
二叉查找树的删除节点,比如删除图1中的号码4.为什么用这种方式可以删除呢(T = T->Left或者T = T->Right)???(图二中划线的代码句)而不是像单链表的删除那样,首先得知道该元素的前一个元素,(及4的父节点2),然后指向4的下一个节点。(如图3)
图片附件: 游客没有浏览图片的权限,请 登录注册

图片附件: 游客没有浏览图片的权限,请 登录注册

图片附件: 游客没有浏览图片的权限,请 登录注册
2016-05-16 22:39
令狐少侠56
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:320
专家分:175
注 册:2014-4-10
收藏
得分:50 
单链表的删除首先得知道该元素的前一个元素   是因为你直接删掉元素你能连上吗?
比如 1 ->2 ->3    要删除2其实是把1指向3,因此需要知道的是2前面的元素的位置
二叉树的删除和这个完全不同啊
2016-05-18 21:42
达尔文
Rank: 2
等 级:论坛游民
帖 子:84
专家分:29
注 册:2015-8-22
收藏
得分:0 
回复 2楼 令狐少侠56
我尝试了下单链表用T = T->Next,顺便没有free();试了下,这不能删除结点。可二叉树却可以实行。我觉得他们都是用链表实现,而且操作都是该元素的前一个元素指针直接指向后一个元素。链表那个我懂。关键是二叉树的删除。。。至于不同之处,可以说明下么?虚心求教

能有一件喜欢的事很不容易,就坚持下去吧.....
2016-05-19 21:10
令狐少侠56
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:320
专家分:175
注 册:2014-4-10
收藏
得分:0 
回复 3楼 达尔文
已经过去好久啦,国内有本书叫《数据结构》,陈越主编的。你看下也许就明白了。
2016-06-10 14:14
快速回复:二叉查找树的删除结点问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015792 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved