5. 《数据结构( Java 版)(第 3 版)》
8.2.1 顺序查找
1.顺序表的顺序查找
public int indexOf(T key)// 顺序查找关键字为
key 元素,返回首次出现的元素,若查找不成功返
回 -1 。 key 可只包含关键字数据项,由 T 类的
equals() 提供比较对象相等的依据
public T search(T key) // 查找
public boolean contain(T key) // 判断是否包含
关键字为 key 元素
public void remove(T key) // 删除首次出现元素
6. 《数据结构( Java 版)(第 3 版)》
2. 单链表的顺序查找
public T search(T key) // 顺序查找关键
字为 key 元素,返回首次出现的元素,
若查找不成功返回 null
public boolean contain(T key)
// 判断线性表是否包含关键字为
key 元素
public void remove(T x) // 删除首次出
现的值为 x 的结点,若没找到指定结点
则不删除
7. 《数据结构( Java 版)(第 3 版)》
3. 顺序查找算法分析
)(
2
1
2
)1(11
)(
11
nO
nnn
n
i
n
cpASL
n
i
i
n
i
i =
+
=
+
×==×= ∑∑ ==
成功
)()
1
()(
11
nOnn
n
cpASL
n
i
i
n
i
i ==×=×= ∑∑ ==
不成功
22. 《数据结构( Java 版)(第 3 版)》
采用链地址法的散列表类
public class HashSet<T>
{
private SinglyLinkedList<T>[] table;
// 散列表,同义词单链表对象数组
public HashSet(int length)
public HashSet()
private int hash(T x) // 散列函数
public void insert(T x) // 插入 x 元素
public void remove(T x) // 删除 x 元素
public T search(T key) // 查找
}
30. 《数据结构( Java 版)(第 3 版)》
5. 二叉排序树的查找性能分
析
625.2
8
21
)14432211(
8
1
)(
1
==×+×+×+×=×= ∑=
i
n
i
i cpASL成功
5.4
2
18
2
11
1
=
+
=
+
== ∑=
n
i
n
ASL
n
i
成功