数据结构:第七章学习小结

1、心得体会:在第七章的学习当中,主要是对查找这一操作的深入学习,主要操作对象为线性表、树表和散列表。

    查找,主要有顺序查找、折半查找、分块查找。

一、线性表查找

   11、 顺序查找方法既适用于线性表的顺序存储结构,又适用千线性表的链式存储结构。
在顺序查找中,有一个很有技巧的设置,在对当前位置的关键字设置一个监视哨,对循环起到一个检测作用。
 
   12、 而折半查找要求线性表必须采用顺序存储结构, 而且表中元素按关键字有序排列。
折半查找每一次查找比较都使查找范围缩小一半,与顺序查找相 比,很显然会提高查找效率。
 
   13、 分块查找实现时,除表本身以外,尚需建立一个 “索引表”。在分块时,块之间有序,而块中的数据是无序排列的。
由于块内是无序的,在表中插入和删除数据元素时,只要找到该元素对应的块,就可以在该块内进行插入和删除运算。
 
折半查找又有两种实现方式:迭代与递归
一、迭代实现:
 
 
二、递归实现:

 

 

二、树表查找

    查找对象主要为二叉排序树、平衡二叉树、B—树

11、二叉排序树可以看成是一个有序表,所以在二叉排序树上进行查找 和折半查找类似, 也

是一个逐步缩小查找范围的过程。 
 
12、B树与二叉排序树查找类似。
 
三、散列表查找
线性表、树表结构的查找方法,这类查找方法都是以关键字的比较为基础;而散列表通过对元素的关键字值进行某种运算,直接求出元素的地址,关键字到地址直接转换。
 
在用散列表进行查找时,一般会遇到散列冲突,处理冲突一般有开放地址法和链地址法解决。
 
2、学习小结:在本章的学习当中,引入了一个比较抽象的知识,散列表,但其他的整体操作还是能够理解的。
 
 
3、下一阶段目标:希望能更好地理解排序这一章节的内容吧!

 

posted @ 2020-06-28 11:29  潮潮00  阅读(152)  评论(0编辑  收藏  举报