查找与排序精选PPT.ppt
《查找与排序精选PPT.ppt》由会员分享,可在线阅读,更多相关《查找与排序精选PPT.ppt(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、查找与排序1第1页,此课件共27页哦天津大学2/27本章内容(树形结构)查找查找排序排序第2页,此课件共27页哦天津大学3/271.查找查找第3页,此课件共27页哦天津大学4/27查找的基本概念 查找查找:在数据元素集合:在数据元素集合(查找表查找表)中查找关键字与给定值中查找关键字与给定值相等的数据元素。相等的数据元素。关键字关键字:数据元素中的一个或多个数据项值,它可以:数据元素中的一个或多个数据项值,它可以惟一标识一个数据元素。惟一标识一个数据元素。平均查找长度平均查找长度(ASLASL):式中,式中,n n为查找表的长度;为查找表的长度;p pi i为查找第为查找第i i个元素的概率,
2、个元素的概率,在等概率情况下在等概率情况下p pi i等于等于1/n1/n;C Ci i为找到第为找到第i i个元素时的比较个元素时的比较次数次数第4页,此课件共27页哦天津大学5/27顺序查找 基本思想基本思想:用给定值依次与线性表中每个元素的关:用给定值依次与线性表中每个元素的关键字进行比较。如果某个元素的关键字与给定值相同,键字进行比较。如果某个元素的关键字与给定值相同,则查找成功;如果找遍全表也没有发现满足条件的元则查找成功;如果找遍全表也没有发现满足条件的元素,则查找失败。素,则查找失败。要求要求:查找表必须采用线性表。查找表必须采用线性表。平均查找长度平均查找长度 评价评价:在用顺
3、序查找方法完成查找时,每进行一次:在用顺序查找方法完成查找时,每进行一次成功查找需要的平均比较次数约为表长度的一半,因成功查找需要的平均比较次数约为表长度的一半,因此,它的效率较低。适用于在查找表较小的情况下进此,它的效率较低。适用于在查找表较小的情况下进行查找。行查找。第5页,此课件共27页哦天津大学6/27二分查找要求要求:u查找表必须采用线性表;查找表必须采用线性表;u必须以顺序方式存储线性表;必须以顺序方式存储线性表;u线性表中所有数据元素必须按照关键字有序排列线性表中所有数据元素必须按照关键字有序排列 基本思想基本思想:将给定值与处于顺序表:将给定值与处于顺序表“中间位置中间位置”上
4、的上的元素的关键字进行比较,若相等则查找成功,若给定值元素的关键字进行比较,若相等则查找成功,若给定值大于关键字则在表的后半部分继续进行二分查找,否则大于关键字则在表的后半部分继续进行二分查找,否则在表的前半部分继续进行二分查找。如此进行下去直至在表的前半部分继续进行二分查找。如此进行下去直至找到满足条件的元素,或当前查找区为空,此时查找失找到满足条件的元素,或当前查找区为空,此时查找失败。败。第6页,此课件共27页哦天津大学7/27优点优点:u查找效率高查找效率高u平均查找长度平均查找长度缺点缺点:u查找前要将表中元素按关键字有序排列查找前要将表中元素按关键字有序排列u只适用于线性表的顺序存
5、储。适用于那种一经建只适用于线性表的顺序存储。适用于那种一经建立就很少改动而又经常需要查找的线性表。立就很少改动而又经常需要查找的线性表。第7页,此课件共27页哦天津大学8/27分块查找要求要求:u查找表必须采用线性表;查找表必须采用线性表;u待查找的线性表分成若干块。在每一块内,元素待查找的线性表分成若干块。在每一块内,元素的存放是任意的,但在块与块之间元素的存放是的存放是任意的,但在块与块之间元素的存放是有序的,即前一块中任意一个元素的关键字值都有序的,即前一块中任意一个元素的关键字值都必须小于(或大于)后一块中所有元素的关键字必须小于(或大于)后一块中所有元素的关键字值;值;u建立一个索
6、引表,索引表中的每个索引项对应于建立一个索引表,索引表中的每个索引项对应于一块。一个索引项至少应含有两部分信息:一是一块。一个索引项至少应含有两部分信息:一是对应块中最大的关键字值;二是指向对应块中第对应块中最大的关键字值;二是指向对应块中第一个元素的指针一个元素的指针第8页,此课件共27页哦天津大学9/27 基本思想基本思想:首先在索引表中查找,确定出要查找的:首先在索引表中查找,确定出要查找的元素应该在哪一块中;然后在已确定的那一块内进行元素应该在哪一块中;然后在已确定的那一块内进行顺序查找。顺序查找。第9页,此课件共27页哦天津大学1027 优点优点:块内元素是任意存放的,插入或删除运算
7、不会造成:块内元素是任意存放的,插入或删除运算不会造成元素的大量移动。元素的大量移动。缺点缺点:u增加了存放索引表的辅助空间及初始时对线性表分块增加了存放索引表的辅助空间及初始时对线性表分块排序的运算排序的运算u大量的插入和删除运算可能会导致各块中元素的数目大量的插入和删除运算可能会导致各块中元素的数目很不均匀,这会降低查找速度很不均匀,这会降低查找速度第10页,此课件共27页哦天津大学1127二叉排序树查找o基本思想基本思想n当二叉排序树不为空时,将给定值与根结点的当二叉排序树不为空时,将给定值与根结点的值进行比较,若相等则查找成功。如果给定值值进行比较,若相等则查找成功。如果给定值小于根结
8、点的值,则在根结点的左子树中继续小于根结点的值,则在根结点的左子树中继续查找,否则在根结点的右子树中继续查找。当查找,否则在根结点的右子树中继续查找。当待查找的二叉排序树为空时,查找失败。待查找的二叉排序树为空时,查找失败。o平均查找长度平均查找长度n在二叉排序树中查找成功时走过的是一条从根在二叉排序树中查找成功时走过的是一条从根结点到所寻找结点的一条路径,因此,二叉排结点到所寻找结点的一条路径,因此,二叉排序树查找的平均查找长度取决于二叉排序树的序树查找的平均查找长度取决于二叉排序树的深度。深度。第11页,此课件共27页哦天津大学1227二叉排序树的蜕变o二叉排序树是动态生成的,它的形态与各
9、结二叉排序树是动态生成的,它的形态与各结点插入二叉排序树时的先后顺序有关。当把点插入二叉排序树时的先后顺序有关。当把一组有序值依次插入到一棵二叉排序树时,一组有序值依次插入到一棵二叉排序树时,生成的二叉排序树将蜕变成一棵单支树。例生成的二叉排序树将蜕变成一棵单支树。例如,由整数序列如,由整数序列15,23,26,47,56,89 生成生成的二叉排序树就是一棵单支树。在单支树中的二叉排序树就是一棵单支树。在单支树中查找时,平均查找长度与顺序查找相同。查找时,平均查找长度与顺序查找相同。第12页,此课件共27页哦天津大学1327哈希存储(哈希表)o以数据元素的关键字以数据元素的关键字k为自变量,通
10、过一定为自变量,通过一定的函数关系的函数关系h(称为哈希函数或散列函数称为哈希函数或散列函数)计计算出对应的函数值算出对应的函数值h(k),把这个值解释为,把这个值解释为数据元素的存储地址并把数据元素存储到相数据元素的存储地址并把数据元素存储到相应的存储单元内。应的存储单元内。h(k)称为哈希地址。称为哈希地址。o例:设有一组关键字值例:设有一组关键字值85,72,49,58,15,70,90,38,哈希函数,哈希函数h(k)=k mod 12。则对应的哈希地址为。则对应的哈希地址为1,0,1,10,3,10,6,2第13页,此课件共27页哦天津大学1427哈希存储冲突o若有两个不同的关键字若
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 查找 排序 精选 PPT
限制150内