博客
关于我
大话数据结构——第五章树读书笔记
阅读量:512 次
发布时间:2019-03-07

本文共 836 字,大约阅读时间需要 2 分钟。

树是一种非常重要的数据结构,它在计算机科学中广泛应用于数据存储和处理。拆解树知识点可以从以下几个方面展开:

1. 树的定义

树是一种抽象数据结构,具有以下特点:

  • 任意节点(非根节点)恰好有一个父节点
  • 节点之间通过父节点和子节点的关系连接
  • �uthorizer: 根节点没有父节点,叶子节点没有子节点

树的结构可以用来表示层次化的数据,如文件目录、树形图、生物树等。

2. 树的存储结构

为了方便地存储和访问树的节点,通常可以选择以下存储结构:

  • 数组存储:实用,通过节点编号快速定位节点的位置
  • 链表存储:灵活,适合动态增减节点

数组存储的优点是定位节点简单,但因为节点总数已知时,需事先分配内存空间。链表存储灵活,但在大数据量时可能比数组慢。

3. 二叉树

二叉树是树的重要扩展,具有以下特点:

  • 每个节点最多有两个子节点(左、右)
  • 具体实现方式有顺序存储(数组或链表)

二叉树广泛应用于数据结构排序、查找和图形应用,如 AVL 树和平衡树。

4. 线索二叉树

线索二叉树是一种与线索表类似的结构,结合了节点的信息,用于内存存储数据特征,提高查找效率。线索树的优点是直接通过公式定位节点,节省时间;缺点是占用较多内存。

5. 树与森林的关系

  • 森林由多个不相连的树组成
  • 转换树与森林:需要处理不完整节点,可能叶节点间断
  • 遍历森林可以使用深度优先或广度优先策略

6. 树的遍历

树的遍历是处理树结构的重要方法:

  • 深度优先搜索(DFS):先处理子节点再处理当前节点,如前序遍历
  • 广度优先搜索(BFS):按层次处理节点,如层序遍历

遍历的目的是执行特定操作,如查找节点、统计数据等。

7. 赫夫曼树及其应用

赫夫曼树是一种基于优先队列优化的数据结构,用于数据压缩和加密。其核心思想是最小化节点合并成本,具有频率较高的节点合并较少位数,从而节省存储空间。赫夫曼编码广泛应用于文件压缩、通信等领域。

通过以上拆解,树知识点涵盖了数据结构的基础,了解树的各个方面有助于更好地应用于实际问题。

转载地址:http://ubjnz.baihongyu.com/

你可能感兴趣的文章
Opencv中KNN背景分割器
查看>>
OpenCV中基于已知相机方向的透视变形
查看>>
OpenCV中的监督学习
查看>>
opencv中读写视频
查看>>
OpenCV中遇到Microsoft C++ 异常 cv::Exception
查看>>
opencv之cv2.findContours和drawContours(python)
查看>>
opencv之namedWindow,imshow出现两个窗口
查看>>
opencv之模糊处理
查看>>
Opencv介绍及opencv3.0在 vs2010上的配置
查看>>
OpenCV使用霍夫变换检测图像中的形状
查看>>
opencv保存图片路径包含中文乱码解决方案
查看>>
OpenCV保证输入图像为三通道
查看>>
OpenCV入门教程(非常详细)从零基础入门到精通,看完这一篇就够了
查看>>
opencv图像分割2-GMM
查看>>
opencv图像分割3-分水岭方法
查看>>
opencv图像切割1-KMeans方法
查看>>
OpenCV图像处理篇之阈值操作函数
查看>>
opencv图像特征融合-seamlessClone
查看>>
OpenCV图像的深浅拷贝
查看>>
OpenCV在Google Colboratory中不起作用
查看>>