11月过半,在我的坚持下,我终于在11月16日刷完了第一轮的数据结构,不知道大家是自学还是跟着网课学的,反正我是在B 站跟着青岛大学的王卓老师学习数据结构,因为大一的时候在家上网课没有好好学习数据结构,到了大三才发现数据结构的重要性,所以我在暑假的时候开始学数据结构,终于在11月学了一遍数据结构,第一轮的学习不能说精通,只是知道了严蔚敏版数据结构各个章节的知识点,先来放上我用Typora写的数据结构笔记吧
数据结构---查找章节
线性表的查找
三种方式:顺序查找,折半查找,分块查找
顺序查找、折半查找、分块查找三种查找的比较:
1、 平均查找长度:
顺序查找的平均查找长度最大,ASL=(N+1)/2 折半查找得平均查找长度最小,ASL=㏒₂(n+1)-1 分块查找得平均查找长度位于顺序查找和折半查找中间,ASL=(b+1)/2+(s+1)/2
b是将表分成的块数,s是块中的记录
2、表结构:
顺序查找适用于有序表和无序表,折半查找适用于有序表,分块查找适用于分块有序的表
3、存储结构:
顺序查找方法适用于线性表的顺序存储结构,也适用线性表的链式存储结构 折半查找方法适用线性表的顺序存储的有序表 分块查找方法适用线性表中的顺序表和线性链表
4、优缺点:
顺序查找优点:算法简单,对表结构无要求,适用于顺序结构和链式结构 缺点:平均查找长度大,查找效率低 折半查找优点:比较次数少,查找