数据结构 邓俊辉专题

线性结构的优劣

  • 线性结构:元素之间都有一个自然的线性次序

    • 基于数组的实现

      • 优点:常数时间内查找
      • 缺点:线性时间内移动(插入,删除)
    • 基于链表的实现

      • 有点:常数时间内移动
      • 缺点:线性时间内查找
  • 如何中和两种的优缺点 ——> 树结构(半线性结构)


树结构的特点和解决的问题

  • 半线性结构(semi-linear structure)

    • 非线性性质在于:并不直接存在天然的直接后继和直接前驱关系

      譬如说:某个节点的前面是什么,后面是什么这个并不是唯一确定的。

      而是取决于遍历方式:前序遍历、中序遍历、后序这些。

    • 线性性质在于:附加某种约束(遍历),也可以在树中的元素之间确定某种线性次序,譬如前面说的几种遍历。

  • 分层结构:树的层次化特征蕴含于所有事物及其联系中,成为本质属性之一。

  • 树解决的问题:希望以一种“折中”的方式来同时满足一定效率下的动态修改静态查找


搜索树家族概览

搜索树家族主要用于在不同的场景下解决如下问题:

  • 高效率的动态修改
  • 高效率的静态查找

于是下面就是具体的数据结构。

  • 二叉树(BinTree)

    • 普通二叉树

    • 二叉搜索树(BST)

      • 普通二叉搜索树

      • 平衡的二叉搜索树

        • AVL 树
        • 伸展树(Splay)
        • 红黑树(RedBlack)
  • B 树

    • 普通 B 树
    • B+ 树
  • Kd-Tree

书这里有一个简单的图可以看:

image


查找的概念

地方地方的

地方了

地方

的发

打发打发地方地方

地方地方地方

的房间里的房间里地方

零九分

但是,但卢卡库砥砺奋进

的的浪费精力的空间 砥砺奋进的了开发拉动房价了 的飞机轮番 的风景

的的离开家里


相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...