标签:节点 二分 效率 对象 元素 线性表 插入 有序 缺点
一、线性表的查找
1、 顺序查找:<适合对象——无序或有序队列>
(1)思想:逐个比较,直到找到或者查找失败。
(2)时间复杂度:T(n) = O(n)。
(3)空间复杂度:S(n) = O(n)。
(4)缺点:当n较大时,平均查找长度较大,效率低。
2、 折半查找:<适合对象——只是适用于有序表,且限于顺序存储结构>
(1)思想:又称二分查找,对于已经按照一定顺序排列好的列表,每次都用关键字和
中间的元素对比,然后判断是在前部分还是后部分还是就是中间的元素,然后继续
用关键字和中间的元素对比。
(2)时间复杂度:T(n) =O(logn)。具有n 个结点的完全二叉树的深度为,在这里尽管
折半查找判定二叉树并不是完全二叉树,但同样相同的推导可以得出,最坏情况是
查找到关键字或查找失败的次数也如此。其时间复杂度远好于顺序查找的时间复杂
度O(n)了。
二、树的查找:
1、 二叉排序树:
(1)思想:二叉排序树:①若它的左子树非空,则左子树上所有节点的值均小于它的
根节点的值;②若它的右子树非空,则右子树上所有结点的值均大于(或大于等于)
它的根节点的值;③它的左、右子树也分别为二叉排序树。查找的时候,中序遍历
二叉树,得到一个递增有序序列。查找思路类似于折半查找。
(2)时间复杂度:插入一个节点算法的O(㏒n),插入n个的总复杂度为O(n㏒n)。
标签:节点 二分 效率 对象 元素 线性表 插入 有序 缺点
原文地址:https://www.cnblogs.com/kirigirikyoko/p/10965154.html