树结构基础部分

83 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第二十二天,点击查看活动详情

前言:

1.数据结构(Data Structure) 是数据的组织结构,用来组织、存储数据。算法(Algorithm) 就是解决问题的方法或者过程。

2.数据结构分为逻辑结构和物理结构。逻辑结构分为集合结构、线性结构、树形结构、图形结构;物理结构分为顺序存储结构、链式存储结构。

  1. 数组存储方式

    • 优点:通过下标方式访问元素,速度快。对于有序数组,可使用二分查找提高检索速度。

    • 缺点:如果要检索具体某个值,或者插入值(按一定顺序)会整体移动,效率较低

      image-20220910090154661

  2. 链式存储方式

    • 优点:在一定程度上对数组存储方式有优化(比如:插入一个数值节点,只需要将插 入节点,链接到链表中即可, 删除效率也很好)。

    • 缺点:在进行检索时,效率仍然较低,比如(检索某个值,==需要从头节点开始遍历==)

      插入 6 :

      image-20220910090723548

  3. 树存储方式

    • 能提高数据存储,读取的效率, 比如利用 二叉排序树(Binary Sort Tree),既可以保证数据的检索速度,同时也可以保证数据的插入,删除,修改的速度。

    • 小于根节点的放置左边,大于的放在右边

      image-20220910091902475

树示意图

树的常用术语

  1. 节点
  2. 根节点
  3. 父节点
  4. 子节点
  5. 叶子节点(没有子节点的节点)
  6. 节点的权(节点值)
  7. 路径(从root节点找到该节点的路线)
  8. 子树
  9. 树的高度(最大的层数)
  10. 森林:多棵子树构成森林

image-20220910092156545