zoukankan      html  css  js  c++  java
  • 树的实现

    一.树的定义和细节:
    /*
    1.树是由一些节点组成的集合,这个集合可以是空集。
    2.如果这个集合非空集,那么一棵树就是由根节点,以及0个或者多个非空的子节点组成。
    3.树叶是没有下一级节点(儿子节点)的节点。
    4.对任意节点N的深度是从根节点到节点N的唯一路径长。
    5.节点N的高是从节点N到一片树叶的最长路径长,所以所有的树叶的高都是0。
    6.一棵树的高等于它的根的高。
    7.一棵树的深度等于它的最深的树叶的深度,并且该深度总是等于这棵树的高。
    */
    二.树的实现方法
    /*
    8.实现树的一种方法可以是在每一个节点除数据外还要有一些指针,
    9.使得该节点的每一个儿子节点都有一个指针指向它。
    10.将每一个节点的所有儿子节点都放在树节点的链表当中。
    */

    typedef struct TreeNode *PtrToNode;
    struct TreeNode
    {
        int x;
        PtrNode First Child;
        PtrNode NextSibling;
    };

    三./*二叉树:二叉树最多拥有两个子节点

    1. 一个节点就是有关键信息加上两个指向其他节点的指针(Left和Right)组成的。 应用于链表上的规则可以应用于树上。
    2. 特别的,当进行一次插入时,必须调用malloc创建一个节点,当然,节点可以在调用free之后被释放。

    */

    typedef struct TreeNode *PtrNode;
    
    typedef struct PtrNode Tree;
    
    struct TreeNode
    {
        int x;
        Tree Left;
        Tree Right;
    };
  • 相关阅读:
    VMware rhel 7 网卡绑定
    VMware 克隆虚拟机后网卡无法启动
    rhel7 批量新建和删除用户
    2019.3.27 Linux 学习
    20180313前端笔试
    javascript中的一些问题
    flex布局学习笔记(阮一峰flex布局教程)
    个推面试总结
    笔试题目整理
    @JsonFormat与@DateTimeFormat注解的使用
  • 原文地址:https://www.cnblogs.com/FlyerBird/p/9052580.html
Copyright © 2011-2022 走看看