清华大学出版社 TSINGHUA UNIVERSITY PRESS 第7章查找技术 7.1顺序查找 7.2有序表的对分查找 7.3分块查找 7.4二叉排序树查找 7.5多层索引树查找
第7章 查找技术 7.1 顺序查找 7.2 有序表的对分查找 7.3 分块查找 7.4 二叉排序树查找 7.5 多层索引树查找
清华大学出版社 TSINGHUA UNIVERSITY PRESS 7.1顺序查找 7.1.1线性表在顺序存储下的顺序查找 7.1.2线性链表的顺序查找
7.1 顺序查找 7.1.1 线性表在顺序存储下的顺序查找 7.1.2 线性链表的顺序查找
清华大学出版社 TSINGHUA UNIVERSITY PRESS 7.1顺序查找 7.1.1线性表在顺序存储下的顺序查找 (1)如果线性表为无序表(即表中元素 的排列是无序的),则不管是顺序存储 结构还是链式存储结构,都只能用顺序 查找。 (2)即使是有序线性表,如果采用链式 存储结构,也只能用顺序查找
7.1 顺序查找 7.1.1 线性表在顺序存储下的顺序查找 (1)如果线性表为无序表(即表中元素 的排列是无序的),则不管是顺序存储 结构还是链式存储结构,都只能用顺序 查找。 (2)即使是有序线性表,如果采用链式 存储结构,也只能用顺序查找
清华大学出版社 TSINGHUA UNIVERSITY PRESS 7.1顺序查找 线性表在顺序存储结构下的顺序查找 输入:线性表长度n以及线性表的存储空间V; 被查找的元素x 输出:被查找元素x在线性表中的序号k。 如果在线性表中不存在元素x,则输出k=-1。 PROCEDURE SERCH (V, n, x, k) k=1 WHILE(k≤n)and(V(k)≠x)D0k=k+1 IF(k=n+1 then k= RETURN
7.1 顺序查找 线性表在顺序存储结构下的顺序查找 输入:线性表长度n以及线性表的存储空间V; 被查找的元素x。 输出:被查找元素x在线性表中的序号k。 如果在线性表中不存在元素x,则输出k=-1。 PROCEDURE SERCH(V,n,x,k) k=1 WHILE (k≤n)and(V(k)≠x) DO k=k+1 IF (k=n+1) THEN k=-1 RETURN
清华大学出版社 TSINGHUA UNIVERSITY PRESS 7.1顺序查找 /*函数返回被查找元素x在线性表中的序号, 如果在线性表中不存在元素值x,则返回一1*/ int serch(v, n, x) int n: ETv[],x;/米ET为线性表数据类型米/ i int k k=0 while((k<n)&&(v[k]))k=k+1 if (k==n)k=-1 return(k)
7.1 顺序查找 /*函数返回被查找元素x在线性表中的序号, 如果在线性表中不存在元素值x,则返回-1 */ int serch(v,n,x) int n; ET v[],x; /*ET为线性表数据类型*/ { int k; k=0; while ((k<n)&&(v[k]≠x)) k=k+1; if (k==n) k=-1; return(k); }