树 的定义 C语言


  树:

	有且只有一个被称为根的节点
	由若干个互不相交的子树,子树本身就是一颗树


  专业术语:

	节点	父节点	子节点	子孙	堂兄弟

	深度:
		从根节点到最底层节点的层数被称之为深度

	叶子节点:
		没有子节点的节点

	非终端节点:
		就是非叶子节点

	节点的度:
		字节点的个数

	树的度:
		最大节点的度为该树的度


  分类:

	一般的树 : 子节点的个数不受限制

	二叉树: 子节点的个数最多为两个,子节点的位置不可更改
			 分类:
				一般二叉树:

				满二叉树:在不添加树的层数的前提下,无法在添加一个节点的二叉树
				
				完全二叉树: 如果只删除了满二叉树的最底层最右边连续的若干个节点,所形成的二叉树称之为完全二叉树

	森林:n个互不相交的树的集合


  存储:
		二叉树的存储:
			连续存储【数组】:(完全二叉树)

				优点:查找 父节点 子节点 很快,判断某个节点有没有子节点

				缺点: 内存耗用大

			链式存储:

				一个节点有两部分组成 : 

					数据域

					指针域:

						左指针

						右指针



		一般数的存储:
			
			双亲表示法: 求父节点方便
			孩子表示法: 求子节点方便
			双亲孩子表示法: 求父节点和子节点方便

			二叉树表示法:

				将一般书转化成二叉树:

					保证任何一个节点的左指针指向第一个孩子节点,右指针指向兄弟节点
					

		森林的存储:
				
			二叉树表示法:
				
				第二步: 每一个树的右节点是相邻树的根节点
				
				第一步: 将树转化成二叉树
			


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值