Algoritme pencarian

Algoritme pencarian list mungkin adalah algoritme pencarian paling dasar. Tujuannya adalah mencari sebuah elemen dari sebuah himpunan dengan suatu kunci (kemungkinan memuat informasi yang terkait dengan kunci). Oleh karena hal ini adalah masalah yang lazim dalam ilmu komputer, kompleksitas komputasi algoritme-algoritme tersebut telah dipelajari dengan baik. Algoritme paling sederhana adalah pencarian linear, yang secara sederhana melihat setiap elemen dari list secara berurutan. Waktu pengerjaan algoritme ini adalah O("n"), dimana "n" adalah banyaknya elemen dalam list, dan dapat digunakan langsung pada list yang belum diproses. Algoritme pencarian list yang lebih canggih adalah pencarian biner; waktu pengerjaannya adalah O(log "n"). Waktu pengerjaannya jauh lebih baik daripada pencarian linear untuk list yang memiliki data banyak, tetapi sebelum dilakukan pencarian list terlebih dahulu harus terurut (lihat algoritme pengurutan) dan juga harus dapat diakses secara acak (pengaksesan acak). Pencarian interpolasi adalah lebih baik dari pencarian biner untuk list terurut yang sangat besar dan terdistribusi merata. Algoritme Grover adalah sebuah algoritme kuantum yang menawarkan percepatan kuadrat dibandingkan pencarian linear klasik untuk list tak terurut.