色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

算法和程序之間有什么關系

黃文隆2年前15瀏覽0評論

算法和程序之間有什么關系?

程序 = 算法 + 數據結構

可能有很多會編程的人,不贊成這個觀點,說自己不會算法也可以編程啊。但是我認為一個好的程序一定包含了好的算法,好的算法可以提高程序的運行速度。

舉一個簡單的例子:

有一個年級的成績已經從高到低排好序了,我想估計一下,75分能排第幾名?可能大家會說有什么難的,一直從高到低往下找啊,找到75分就知道,75分能排第幾名了。但是你有沒有想過,既然成績到已經排序了,我直接從中間開始查找,例如中間的分數為80分,那么75分就應該包含在(75,到最低分這個區間上],又把這個區間對比查找,這樣一直縮小區間,最終就能找到了。這就是一個二分查找或者說是折半查找的算法。

上面例子,就是查找比一直這就是懂算法人和不懂算法人的差別,折半查找的用時就會比順序查找的少:

順序查找:最壞時間復雜度是O(n);最優時間復雜度O(1);平均時間復雜度O(n)折半查找:最壞時間復雜度O(log n);最優時間復雜度O(1);平均時間復雜度O(log n)

數據結構也是程序編寫中的重要一環,數據的結構設計得好,也可以提高程序執行效率,并且還可以減少空間的占用。

所以我覺得學好算法對編程有很大的好處。

如果覺得我的回答解決了您的疑問,可以給我點個贊,要能關注我就太好了,我會定期發布一些關于IT的文章。----- 一個喜歡IT知識的程序員

java中二分法,算法和程序之間有什么關系