树和图公司招聘要求是:伪算法
一.树的定义
定义:1.有且只有一个称为根的节点 2.有若干个互不相交的子树,这些子树本身也是一颗树。
通俗的树:
1.树由节点和边(指针域)组成。
2.每个节点只有一个父节点但可以有多个子节点,但有一个节点例外,该节点没有父节点,此节点成为根节点。
专业术语:
节点 父节点 子节点 子孙 堂兄弟
深度:从根节点到最底层的层数 ,根节点是第一层。
叶子节点 :没有子节点的节点。
非终端节点:实际就是非叶子节点,即有子节点 。
度:子节点的个数,整个树的度取最大值。
在这里插入图片描述
有层次观点的是一颗树。
二.树的分类
1.一般树:任意一个节点的子节点的个数都不受限制
2.二叉树(常用):任一一个节点的子节点的个数最多两个,且子节点的位置不可更改。二叉树是个有序树 。二叉树分为一般二叉树和满二叉树(每一层上的节点数都是最大的节点数)。完全二叉树:如果只是删除了满二叉树最底层最右边的连续若干个节点形成的二叉树。满二叉树是完全二叉树的一个特例。
3.森林:n个互不相交的树的集合。
三.树的存储
二叉树的存储分为连续存储(以数组方式储存,完全二叉树)和链式存储。

在这里插入图片描述
连续存储需要存储无用节点,否则二叉树的结构不可知,所以要把普通二叉树,转换成完全二叉树。
完全二叉树知道节个数可以知道树的深度,知道编号可以知道子节点和父节点,缺点是浪费内存,耗用内存空间过大。
一般树的存储:转化成二叉树存储.
双亲表示法
孩子表示法
双亲孩子表示法
二叉树表示法

森林的存储 :转化为二叉树存储。

四.树的操作

五.树的应用

参考资料:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章