排序的重要性

2021-10-08 13:43:57 字數 1206 閱讀 2234

2018/08/12

看過那麼多的演算法書, 每本書都在講排序,分析各種排序演算法的原理,分析他們的時間複雜度、空間複雜度。

結果我並沒有真正的領悟到要這樣分析。因為沒有一本書去說,演算法的通用性到底在哪。你學那麼多的基礎演算法,到底給你帶來了什麼。這也是一直以來,我迷茫的地方。

也是從《演算法設計手冊》那裡看到的,他想傳達的意思就是,排序演算法可能在別的領域(一直以來就感覺是乙個給相關資料排序的過程)沒有那麼突出????(這句話我自己想表達什麼意思)(2019/02/24 修改)

比較重要的一點就是,利用排序演算法可以簡化乙個問題。當時書上提到的乙個例子就是想求兩個整數集合是否重合(是否有交集)。當然這個問題比較簡單,我們初始在想的時候就能馬上想起來用排序的方法來求交集。

他分解的手段比較高明,提供了三種思路。

1)將大的陣列先排序,然後遍歷另一小的陣列去在另乙個資料中查詢。而且排序後的陣列可以用二分法來進行查詢。

2)將小的資料先排序,後面同(1)

3)將兩個資料都排序,然後取他們的最大值最小值來進行比較。

(最後說一句,他多說了一句雜湊表的概念,就是將乙個雜湊表做了雜湊之後,另一陣列直接雜湊進行查詢,這個更快)

我覺得,這個裡面呢,並不是強調這個演算法,而是說你學會了排序之後,就將後續的計算複雜度以及問題的解決思路給開啟,最重要的是能不能從別的問題的角度來解決問題

我覺得對我來說,感覺比較深的,就是有一次我分析資料,感覺沒什麼分析的思路,但是就利用shell的排序命令,就讓我看到了這個中間的規律。這就是讓人能夠開啟思路的方式。

多說一句,我覺得我看了這麼多書,我覺得基礎的東西,雖然細節不慎理解,但是都覺得這些基礎的東西沒用。就是因為他沒有給我帶來實質性的啟發。這本書(《演算法設計手冊》)這個東西就給出了我相應的提醒。。。難道就是書的問題??

就差那麼一句提醒,當然不僅僅是提醒,還有就是你用範例也好,讓我真正的感覺到了這個東西有用。

2018/08/12

但是反過來說就是,這個東西就是靠自己去領悟。哎,但領悟也是需要積累的。

另外,不單單是排序的問題,很多書也都提到了遞迴這個概念,但是這個東西也是沒有很深的理解,換句話說,沒有應用。

但這本書裡面的乙個點說的很好,那就是對現實問題進行建模,從而把現實模型抽象地轉化到基礎的資料結構上來解決問題。我覺得這個地方,才是最重要的。

2018/08/25

但是上面這個問題,再抽象層次上應該怎麼理解??

重要性取樣

from scipy import stats from scipy.stats import norm import numpy as np import matplotlib.pyplot as plt def f x return np.sin x x def intf x1,x2 retur...

定時的重要性

2.wm timer訊息 是又定時器發出的訊息 首先我們先建立乙個定時器 函式原型 unit settimer hwnd hwnd,uint nidevent,uint nelapse,timerproc lptimerfunc 要建立定時器,還需要 a.視窗控制代碼 b.選擇識別符號 c.微秒級的...

資料的重要性

對於程式設計師來說,高手 和 菜鳥 之間的區別實際上只有兩個因素 一是從事程式設計時間的長短不同,使經驗的多少有所區別 第二個因素就是手頭掌握資料的多少了,因為很多問題並不是靠自己鑽研可以解決的,必須靠資料,試想在寫 dos匯程式設計序時如果沒有中斷手冊,可以自己鑽研出來嗎?實際上,大部分 菜鳥 向...