上学期学习了数据结构,这学期进行oj刷题,这周是查找,复习一下
1.顺序查找(又叫线性查找)
基本思想:从线性表的一端向另一端逐个将记录与定值进行比较,如果相等,查找成功,
给出该记录在表中的位置;如果整个表检测完仍未找到与给定值相等的记录,查找失败,就给出失败信息。
缺点:效率低
优点:算法简单,使用面广
2.折半查找
基本思想:假设有序表,按关键码升序排序,取中间记录作为比较对象,若给定值与中间记录相等,则查找成功,若给定值小于中间记录,则在有序表的左半区继续查找,若给定值大于中间记录,则在有序表的右半区继续查找,不断重复上述过程,直到查找成功或查找区域无记录,查找失败。
算法:
缺点:要求为有序表,插入删除困难
优点:平均性能好,查找速度快