开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 5098|回复: 3
收起左侧

[C#作业] 第十七天作业

[复制链接]
发表于 2019-4-23 17:14:50 | 显示全部楼层 |阅读模式   广东省揭阳市
今日主要学习内容
17.1 树的基本概念 二叉树及二叉搜索树的概念 实现二叉搜索树的插入操作
17.2 二叉搜索树的中序遍历 递归的问题
17.3 二叉搜索树的先序遍历与后序遍历
17.4 二叉搜索树 查找指定节点 取最大值  取最小值
17.5 二叉搜索树 删除指定节点(复杂)
今日作业:

1. 描述一下二叉搜索树的特点?
2. 下面的二叉搜索树在执行先序排序 后序排序 中序排序后的结果分别是? 3.jpg
3. 如果删除二叉搜索树中的节点需要考虑那些事项?
发表于 2019-6-11 18:50:45 | 显示全部楼层   湖南省长沙市

  • 今日作业:
    • 描述一下二叉搜索树的特点?
      具备数组索引cha询的深度与速度
      具备链表节点的宽度,同时插入删除的速度快
      二叉搜索树本身的特点为:从根节点开始,每个节点只有两个子节点,小的放左边,大的放右边
    • 下面的二叉搜索树在执行先序排序 后序排序 中序排序后的结果分别是?
      中序查找:40 53 56 60 62 63 65 71
      先序查找:60 53 40 56 63 62 65 71
      后序查找:40 56 53 62 71 65 63 60
    • 如果删除二叉搜索树中的节点需要考虑那些事项?
      • 叶子节点,直接删除
      • 删除的节点只有左节点,删除后左节点顶上来
      • 删除的节点只有右节点,删除后右节点顶上来
      • 删除的节点具有左右两个节点,右子节点下的最小节点值来替换该值,并将该最小节点用其子右节点覆盖掉

评分

参与人数 1好评 +1 精币 +5 收起 理由
老郭 + 1 + 5 新技能已get√

查看全部评分

回复 支持 反对

使用道具 举报

结帖率:100% (1/1)
发表于 2019-6-3 08:36:35 | 显示全部楼层   江苏省南京市
1. 描述一下二叉搜索树的特点?
二叉搜索树每个节点都只有2个子节点,且小于节点的值在左边大于的在右边

2. 下面的二叉搜索树在执行先序排序 后序排序 中序排序后的结果分别是?  
先序排序:60        53        40        56        62        63        65        71
后序排序:40        56        53        62        71        65        63        60
中序排序:40        53        56        60        62        63        65        71

3. 如果删除二叉搜索树中的节点需要考虑那些事项?
一、删除的节点是叶子节点;直接删除就好
二、删除的节点是只有左子节点;左子节点顶上来就好
三、删除的节点是只有右子节点;右子节点顶上来就好;
四、删除的节点是有左右子节点。我们选择右子节点下的最小节点值来替换该值,并将该最小节点用其子右节点覆盖掉

本来自己想何不直接删除该节点 把剩下的 删除节点的父节点,左子节点,右子节点。当成3个有规律的二叉树拼接起来多简单,只要右子节点接上父节点,左子节点接上右子节点的最小值。可是这种方法会增加二叉树的深度,还是老师的方法好,不会增加二叉树的深度

评分

参与人数 1好评 +1 精币 +10 收起 理由
老郭 + 1 + 10 很赞同,谢谢!

查看全部评分

回复 支持 反对

使用道具 举报

发表于 2019-4-24 14:55:00 | 显示全部楼层   江苏省扬州市
哈哈,也就老郭敢讲这么复杂的逻辑,并且能够讲得很清晰了。。
1. 描述一下二叉搜索树的特点?
节点的左子节点的值小于该节点的值,右子节点的值大于该节点的值。细想一下根节点如果偏大或偏小这棵树就长歪了。。

2. 下面的二叉搜索树在执行先序排序 后序排序 中序排序后的结果分别是?  
先序排序:60        53        40        56        62        63        65        71
后序排序:40        56        53        62        71        65        63        60
中序排序:40        53        56        60        62        63        65        71

3. 如果删除二叉搜索树中的节点需要考虑那些事项?
一、要删除的节点是不是叶子节点;
二、如果不是,那么要删除的节点是不是只有左子节点或右子节点;
三、如果不是,那么就要进行节点替换(采用要删除的节点右子节点的最左节点  或  左子节点的最右节点);
四、要进行替换的节点是否存在子节点(如果存在肯定只有一个)。

如果数据量较小,似乎可以按顺序遍历要删除节点之后的所有子节点。。然后全部重新插入原二叉树。。数据量太大的话,这样应该会比较耗时耗资源吧

评分

参与人数 1好评 +1 精币 +2 收起 理由
老郭 + 1 + 2 很赞同,谢谢!

查看全部评分

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 诚聘英才| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 800073686,邮箱:800073686@b.qq.com
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表