前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >树的实现

树的实现

作者头像
Enterprise_
发布2019-02-21 17:14:11
3380
发布2019-02-21 17:14:11
举报
文章被收录于专栏:小L的魔法馆小L的魔法馆

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

代码语言:javascript
复制
typedef struct TreeNode *PtrToNode;
struct TreeNode
{
    int x;
    PtrNode First Child;
    PtrNode NextSibling;
};

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

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

*/

代码语言:javascript
复制
typedef struct TreeNode *PtrNode;

typedef struct PtrNode Tree;

struct TreeNode
{
    int x;
    Tree Left;
    Tree Right;
};
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017年07月02日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档