本文主要介绍四种常用的查找算法,即 顺序查找,二分查找,哈希表查找和二叉排序树查找
1.顺序查找
顺序查找是在一个已知无(或有序)序队列中找出与给定关键字相同的数的具体位置。原理是让关键字与队列中的数从最后一个开始逐个比较,直到找出与给定关键字相同的数为止,它的缺点是效率低下。
2.二分查找(折半查找)
二分查找又称折半查找,仅适用于事先已经排好序的顺序表。这里直接给出其算法实现。
3.哈希表查找
哈希表查找内容繁杂,直接考察算法的例子不多,这里将其省略。
4.二叉排序树查找
二叉排序树(Binary Search Tree)是一种动态树表。 二叉排序树的定义:二叉排序树或者是一棵空树, 或者是一棵具有如下性质的二叉树: ⑴ 若它的左子树非空,则左子树上所有结点的值均小于根结点的值; ⑵ 若它的右子树非空,则右子树上所有结点的值均大于根结点的值; ⑶ 左、右子树本身又各是一棵二叉排序树。二叉排序树的性质: 按中序遍历二叉排序树,所得到的中序遍历序列是一个递增有序序列。
在二叉排序树上查找,和二分查找类似,也是一个逐步缩小查找范围的过程。
|