数据结构与算法演示台SUANFA.NET.CN · STEP BY STEP

查找 · 单步演示

顺序查找

从第一个数开始逐个比较,遇到要找的数就返回它的位置;全部看完都没有就返回 −1。不要求数组有序。

1 到 16 个整数,不需要有序。 输入只在你的浏览器里计算,不会上传。

420 
71 
192 
633 
84 
255 
516 
307 

步 001 / 007从左到右逐个看,找 25。数组不需要有序。

键盘: 单步,空格 播放/暂停(先点一下演示区)。

伪代码 · 当前行高亮

  1. for i ← 0 … n−1
  2. if a[i] = target:return i
  3. return −1

变量

target25
比较次数0

复杂度

最好情况O(1)
平均情况O(n)
最坏情况O(n)
额外空间O(1)

要找的数在第一个位置时只比较 1 次;不在数组里时要比较 n 次。

要点

  • 唯一不需要预处理的查找方法,适合数据少或只查一两次。
  • 有重复值时返回的是第一次出现的位置。

常见错误

在有序数组上反复查找还用顺序查找,就浪费了「有序」这个条件,改用二分。

同一类的其他演示