2018-2019-20172321 《Java软件结构与数据结构》第六周学习总结
2018-2019-20172321 《Java软件结构与数据结构》第六周学习总结 教材学习内容总结 第10章 树 10.1概述 树由一个包含结点和边的集构成,其中的元素被储存在这些结点中,边则将一个结点和另一个结点连接起来。 一棵树只有一个根节点。 树是一种非线性结构,其中的元素被组织成一个层次的结构。 10.1.1树的分类 每一结点限制为不超过n个孩子的树称为一颗n元树。结点最多具有两个的树称为二叉树。 平衡树:如果树的所有叶子都位于同一层或者至少是彼此相差不超过一个层,就称之为是平衡的。 完全树:如果某树是平衡的,且底层所有叶子都位于shu的左边,则认为该树是完全的。 满树:如果一颗n元树的所有叶子都位于同一层且每一结点要么是一片叶子要么正好具有n个孩子,则称次树是满的。 10.2实现树的策略 10.2.1树的数组实现之计算策略 左孩子存储在(2 n+1)处,右孩子存储在(2 (n+1))处 左孩子存储在(2 n+1)处,右孩子存储在(2 (n+1))处 10.2.2树的数组实现之计算策略 10.2.3树的分析 一般而言,一棵含有m个元素的平衡n元树具有的高度为lognm 10.3树的遍历 前序遍历:从根节点开始,访问每一结点及其孩子 中序遍历从根节点开始,访问结点的左孩子,然后是该结点,再然后是任何剩余结点 后序遍历:从根节点开始,访问结点的孩子,然后是该结点 层序遍历