讀古今文學網 > 學習JavaScript數據結構與算法(第2版) > 第10章 排序和搜索算法 >

第10章 排序和搜索算法

假設我們有一個沒有任何排列順序的電話號碼表(或號碼簿)。當需要添加聯絡人和電話時,你只能將其寫在下一個空位上。假定你的聯繫人列表上有很多人,某天,你要找某個聯繫人及其電話號碼。但是由於聯繫人列表沒有按照任何順序來組織,你只能逐個檢查,直到找到那個你想要的聯繫人為止。這個方法太嚇人了,難道你不這麼認為?想像一下你要在黃頁上搜尋一個聯繫人,但是那本黃頁沒有進行任何組織,那得花多久時間啊?!

因此(還有其他原因),我們需要組織信息集,比如那些存儲在數據結構裡的信息。排序和搜索算法廣泛地運用在待解決的日常問題中。

本章,你會學到最常用的排序和搜索算法,如冒泡排序、選擇排序、插入排序、歸並排序、快速排序和堆排序,以及順序搜索和二分搜索算法。