数据结构实验

Posted ageng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构实验相关的知识,希望对你有一定的参考价值。

查找

· 今天老师带着我们学习了"查找"这一章,查找分为基于线性表的查找法和基于树的查找法,但还只是讲了基于线性表的查找法,那么基于线性表的查找法还分为顺序查找法、折半查找法、分块查找法。

· 首先是顺序查找法,它的特点是用所给关键字与线性表中各元素的关键字逐个比较,直到成功或者失败,存储结构通常为顺序结构,也可以为链式结构。

· 顺序查找法的定义是:#define LIST_SIZE 20 typedf struct{KeyType key;OtherType other_data;}RecordType; typedef struct{RecordType r[LIST_SIZE+1]; int lenth;}RecordList;

· 这也是非常常规的顺序查找法的定义,但是今天所讲的重点是和"监视哨"有关,有了监视哨就可以大大提升查找的效率,还可以起到防止越界的作用。

· 折半查找法的核心思想还是非常好理解的,定义好low=1和high=l.lenth之后,mid=low+high / 2 ,首先判断mid是不是就是要找的那个数据,若相等,则直接返回值,若不是,则判断所求数据是比mid大还是比mid小,若比mid小,则high=mid-1,若比mid大,则low=mid+1,直接顺序查找法的O(n)提升为折半查找法的O(logn),若n足够大,性能也能得到质的飞越。

· 分块查找法的性能也是挺不错的,夹在顺序查找法与折半查找法之间,时间复杂度是O(nlogn),这里就不多做介绍。

谢谢浏览。

以上是关于数据结构实验的主要内容,如果未能解决你的问题,请参考以下文章

使用 React 实验性中继片段:缺少属性 '"$fragmentRefs"'

20165315 缓冲区溢出漏洞实验

第十周作业

20165302 缓冲区溢出漏洞实验

20165318 缓冲区溢出漏洞实验

20165333 缓冲区溢出漏洞实验