千家信息网

如何解析数据结构基础中的二叉树

发表于:2024-09-21 作者:千家信息网编辑
千家信息网最后更新 2024年09月21日,本篇文章给大家分享的是有关如何解析数据结构基础中的二叉树,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一.二叉树的基本知识基本概念一棵树
千家信息网最后更新 2024年09月21日如何解析数据结构基础中的二叉树

本篇文章给大家分享的是有关如何解析数据结构基础中的二叉树,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

一.二叉树的基本知识

基本概念

一棵树最上面的点称为根节点,如果一个节点下面连接多个节点,那么该节点称为父节点,下面的节点称为子节点,二叉树的每一个节点最多有2个子节点,一个节点子节点的个数称为,二叉树每个节点的度只能是0,1,2中的一个,度为0的节点称为叶节点

基本特点

二叉查找树是一种特殊的二叉树,其插入查找和删除都非常高效。

二.基本练习

  1. 实现二叉查找树(BST)

    TIP:BST在插入数据时的逻辑,本身就是一种二分法思维。

  2. 树的遍历

    TIP:树的遍历一般分为先序遍历,中序遍历,后序遍历,这里的序是指对于一个节点以及它的左子节点和右子节点的访问次序。具体使用场景的例子包括:先序遍历时,可以用于查看树结构,中序遍历,可以用于显示排序结果,后序遍历,可用于计算目录内文件占用的数据大小。

  3. 值的查找

    3.1查找给定值

    TIP:实际上就是二分法查找

    3.2查找最小值

    TIP:BST中最左侧的节点。

    3.3查找最大值

    TIP:BST中最右侧的节点。

  4. 删除节点

    TIP:主要注意删除同时包含左右孩子节点的节点时逻辑,由BST插入的规则可以知道,节点右子树中所有的节点都是大于当前节点值的,所以右子树中找出的最小值是大于当前节点左子树上所有值的,所以将其上浮至当前待删除节点位置,是不影响二叉树特性的。

  5. 计数

三.课后习题(书中第十节习题)

  1. BST增加一个新方法,返回BST中节点个数。

  2. BST增加一个新方法,返回BST中边的个数。

  3. BST类增加一个新方法max( ),返回最大值。

  4. BST类增加一个新方法min( ),返回最小值。

  5. 写一段程序,读入一个较大的文本文件,并将其中的单词保存到BST中,显示每个单词出现的次数

四.习题思路

  1. BST构造函数中增加一个count属性,在增删节点成功时修改count值实现计数即可。

  2. BST边的数量比节点数量少1.

  3. (略)

  4. (略)

  5. 分解出的单词实际上就是字符串,字符串的比较实际上就是从第一位开始逐个比较ASCII码,用上面实现的BST做练习就好,词频统计更多会用到Trie树,也就是字典树,感兴趣的读者可以自行查阅。

五. 根据遍历序还原二叉树

【先序+中序】或者【后序+中序】都可以还原出唯一的二叉树,只根据【先序+后序】还原出的二叉树不是唯一的(感兴趣的可以看看这篇《 为什么只给出前序和后序,不能唯一确定一个二叉树 》),这里的二叉树指的是一般二叉树,不是二叉搜索树。或者相关的文章已经很多了,随手贴一篇带图的《由遍历序列还原二叉树结构》,理解难度并不高,同样建议自己编码实现一下。

六. 关于二叉树

二叉树是非常重要的数据结构,书中介绍的只是最基本的知识,更进一步的学习会涉及二叉树的数学特性,限制更多性能也更优的平衡二叉树,满二叉树,红黑树等等,以及相关的深度优先和广度优先算法。

以上就是如何解析数据结构基础中的二叉树,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

节点 数据 结构 就是 方法 更多 知识 数据结构 最小 个数 习题 单词 实际 实际上 子树 基础 最大 二分法 兴趣 字符 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 最新的网络安全执行案例分析 hp 服务器管理ip 苹果服务器打不开 在数据库中小于等于24怎么打 少年宫网络安全讲座 防汛网络安全系统 主要业务 计算机网络技术相关技能 通辽市网络安全协会张海斌 网络安全周活动充分准备 数据库用户名讲究 河南语音网络技术优势 立林科技互联网cnc 海陵区环保网络技术价格查询 数据库表头是啥 MSSQL数据库技术培训 服务器管理口无法连接 公务员网络安全管理做什么工作 什么游戏搭建服务器比较简单 latex 刷新数据库 东迅网络技术有限公司诈骗 一台服务器可以虚拟多少云桌面 使命召唤16战网登录哪个服务器 软件开发灵域简称 java连接数据库的方法 活字格服务器端并发用户 计算机网络技术与应用网线 上海建桥学院数据库期末考试 永州软件开发程序员培训班学什么 腾讯网络安全公司 南岸区网络软件开发流程常见问题
0