一、二分搜索
二分搜索可以說是無處不在,應用它的前提是,對象有序且在某一范圍之內。
二、基本操作的威力
靈機一動,經過許久的思考,得出的解決方案或許就是一些基本操作的組合,不是嗎?
求逆代碼:把ab變成ba,可以有如下的方法:ab->a
rb->a
rb
r->(a
rb
r)
r->ba
E.G. n元向量左移i個位置
reverse(0, rotdist - 1);
reverse(rotdist, n-1);
reverse (0, n-1);
三、排序
變位分詞的應用,關鍵在于:選擇標識和集中具有相同標識的單詞
四、原理
1)排序:產生有序輸出,將相等的元素集中在一起
2)二分搜索
3)標識:當使用等價類定義時,定義一種標識使同類中每一項都具有相同的標識,而該類之外的其它項則沒有該標識,這是很有用的
4)問題的定義:用戶的需求才是程序設計的根本
5)問題解決者的觀點:優秀的程序員有點懶,他們坐下來等待靈機一動的出現而不急于使用最開始的想法編程