首页 新闻 会员 周边 捐助

树的基本概念

0
[已解决问题] 解决于 2025-09-14 10:21

3、避免提问内容全部代码没有说明,准确的Tag有助于专家高手发现问题

 

 

_java_python的主页 _java_python | 小虾三级 | 园豆:1040
提问于:2025-09-14 09:47
< >
分享
最佳答案
0

 

 

上面二叉树把元素顺序存储时,也要为空元素预留位置,如上图H,k,没有右节点和左节点,也要这两个空元素留出空间。

 

链式存储浪费空间,指针域带来的额外开销——
尤其是叶结点和单分支结点的大片空指针,

与顺序存储对比

完全二叉树用数组存:
  • 0 个指针,无额外开销
  • 仅当一般二叉树出现“虚结点”时数组才浪费;
    而链式结构无论树形态如何都要付 n+1 个空指针的固定税。
  •  

     

     

 

 

 A

_java_python | 小虾三级 |园豆:1040 | 2025-09-14 10:05

逻辑结构(如二叉树)并不依赖于具体的物理存储方式,它可以映射到不同的存储结构上,比如数组或链表。

数组没有指针,靠的是“物理相邻”;链表靠指针,靠的是“逻辑相连”。

_java_python | 园豆:1040 (小虾三级) | 2025-09-15 06:43

@_java_python: 所有结点度数=所有结点分支数

_java_python | 园豆:1040 (小虾三级) | 2025-09-16 20:50

@_java_python: ,树的“度”不区分根节点,这个术语适用于树中所有节点,包括根节点、内部节点和叶子节点。根节点也有度,它的度就是它的子节点个数,和别的节点一样计算,没有特殊待遇。

A
/ | \
B C D
/ \
E F

  • 节点A(根节点)的度 = 3
  • 节点B的度 = 2
  • 节点C、D、E、F的度 = 0
👉 所以这棵树的度是3,(
  • 树的度:整个树中所有节点的度的最大值。节点的度(Degree):一个节点拥有的子节点的个数。
 
总的节点数,沿着树从下往上相加的,最下面是叶子结点的数量,由上面一层所有度数的节点乘以度数,上面一层再由上面一层所有度数的节点乘以度数...一直到根节点的下面一层,这个由根节点的度数*1,然后加上根节点即+1就是所有结点数量,也就是说下一层的节点数量是由上一层节点乘以度数得到的,而根节点没有上一层
_java_python | 园豆:1040 (小虾三级) | 2025-10-19 11:42
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册