数据结构

  • 数组:查询快,插入慢,查找复杂度 O(N)

  • 链表:查询慢,插入快,查找复杂度 O(N)

  • 哈希表:查询复杂度 O(1)

  • 二叉树:查找复杂度 O(logN)

树是一种非线性的数据结构,相对于线性的数据结构(链表、数组)而言,树的平均运行时间更短(往往与树相关的排序时间复杂度都不会高)

 

数据库索引是B+树,是平衡树的一种

如果一棵普通的树在极端的情况下,是能退化成链表的(树的优点就不复存在了)

B+树是平衡树的一种,是不会退化成链表的,树的高度都是相对比较低的(基本符合矮矮胖胖(均衡)的结构)

  • B+树是一颗平衡树,如果我们对这颗树增删改的话,那肯定会破坏它的原有结构

  • 要维持平衡树,就必须做额外的工作。正因为这些额外的工作开销,导致索引会降低增删改的速度

你可能感兴趣的:(数据结构)