树
动态查找树主要有:
二叉查找树(Binary Search Tree,BST,二叉排序树)
平衡二叉树(Balanced Binary Search Tree,AVL树)
红黑树(Red-Black Tree,RB-Tree)
B-tree/B+tree/B*tree/B tree(多路平衡树)
前三者是典型的二叉查找树结构,其查找的时间复杂度O(log2N)与树的深度有关,树的深度越低,查找效率越高,越靠近O(logn)。
数组如何生成平衡二叉树
数表查找
排序树组转化为二叉查找树
方案1:数组生成完全二叉树,完全二叉树,生成二叉搜索树,二叉搜索树生成平衡二叉树。
方案2:数组生成二叉树搜索树,二叉搜索树生成平衡二叉树。
方案3:数组生成平衡二叉树。
方案4:数组先排序,使用排序好的数组生成二叉树搜索树。二叉搜索树生成平衡二叉树。
方案5:数组排序,使用排序好的数组生成平衡二叉树。
思考1:如果将数组先排序,再生成二叉查找树。如果是为了查找数据,那不是多此一举了吗&#