zoukankan      html  css  js  c++  java
  • 表示方法:树形表示法、嵌套集合表示法、凹行表示法、广义表表示法

    度为0的是叶子节点或者终端节点

    度不为0的是非终端节点或者分支节点或者内部节点

    根节点称为开始节点

    数的存储结构:双亲表示法、孩子链表法、孩子兄弟表示法

    树常用遍历:前序遍历和后序遍历

    森林常用遍历:前序遍历和后序遍历

    前序遍历一个树等于前序遍历该树对应的二叉树,后序遍历一棵树等于中序遍历该树对应的二叉树。

    公式及推导过程:

    满k叉树编号为i的节点第一个孩子的编号 j 满足 (j=(i-1) * k +2;)

    推导过程
    设: 节点 i 处在该 m 叉树的第 h层, (h = 1, 2, 3...)

    则 前 h - 1 层共有 $N1 = frac{k^{h-1}-1}{k-1} $   个节点

    同理 前 h 层共有  (N2 =frac{k^{h} - 1}{k -1}) 个节点

    显然 i 是第 h 层的 (i - N1​) 个节点, 即 节点i 有 (i- N1 - 1 ​) 个左兄弟

    故节点i 的第一个孩子 j 有 ((i- N1 - 1)* k) 个左兄弟

    由此可得 j在第h + 1 层中的位置为 $ (i - N1 -1) * k +1$

    那么 节点j 在整棵满 k叉树的编号为 $ N2 +(i - N1 -1)*k + 1$

    即 $ j =frac{k^{h} - 1}{k -1} +(i -frac{k^{h-1} -1}{k-1} -1)*k + 1$

    整理可得: (j=(i-1) * k +2)

    推导:满k叉树编号为i的节点第j个孩子的编号 j 满足 (j=(i-1) * k +1+j);

    哈夫曼树

  • 相关阅读:
    EditPlus 3.7 中文版已经发布
    消息队列
    工作授权系统
    MFC学习指南大纲
    亲爱的项目经理,我恨你
    那些性感的让人尖叫的程序员
    8个经典的HTML5游戏在线试玩及源码学习
    生活小插曲
    WPF开发技术介绍
    工作总结:MFC自写排序算法(升序)
  • 原文地址:https://www.cnblogs.com/snail-gao/p/11739731.html
Copyright © 2011-2022 走看看