美文网首页数据结构和算法
数据结构和算法-7-二叉树

数据结构和算法-7-二叉树

作者: 今阳说 | 来源:发表于2021-03-12 10:28 被阅读0次

    树的一些通用概念:

    :由n(n>=1)个有限节点组成一个具有层次关系的集合,结合了有序数组(查找快)和链表(插入/删除快)的优点,如计算机中的文件系统。

    :节点由边连接, java中常用引用来表示边;

    :树顶端只有一个节点,称之为根,一棵树只有一个根,从根到其他任何节点都必须有且只有一条路径;

    路径:顺着连接节点的边,从一个节点到另一个节点,所经过的节点的顺序排列;

    父节点:除根外,每个节点都有一条边向上连接到另一个节点,上面的节点称为下面节点的父节点;

    子节点:每个节点都可能有一条或多条边向下连接其他节点,这些节点就称为它的子节点;

    叶节点:没有子节点的节点称为叶子节点,简称叶节点;

    子树:根节点下的每个节点及其子孙节点,都可以算作一个子树;

    访问:当程序控制流程到达某个节点,并执行某种操作,就称为访问这个节点,若只是路径经过,则不算访问;

    遍历:按某种特定顺序访问树中所有节点;

    :一个节点的层数指从根节点到这个节点的距离;

    二叉树:

    二叉树:每个节点最多只能有两个子节点,即:左子节点,右子节点;

    是最简单,也是最常用的一种树;

    哈夫曼算法就是使用二叉树来压缩数据;

    二叉搜索树:任何一个节点的左子节点的关键字值小于这个节点,右子节点关键字值大于等于这个父节点;

    二叉树的实现:

    1. 创建一个节点的基类:

    2. 创建树的基类:

    3. 二叉树的节点类:

    4. 二叉树的实现类,代码稍多,其中会有些注释作为说明:

    5. 二叉树的使用测试:

     我是今阳,如果想要进阶和了解更多的干货,欢迎关注公众号”今阳说“接收我的最新文章

    相关文章

      网友评论

        本文标题:数据结构和算法-7-二叉树

        本文链接:https://www.haomeiwen.com/subject/zqaaqltx.html