演算法到底應該怎麼學?

2023-08-19 16:25:16 字數 2220 閱讀 4789

1樓:有知居

‍如果真想深入掌握各種演算法,還是先刷題吧。刷到一定境界再去看更高階的演算法書。不得不承認現實生活中,一般碼農工作對演算法能力要求太低了,這一度讓人們(包括我)認為演算法似乎不那麼重要。

其實學習演算法所鍛鍊出來的對各種問題敏感的反應和融會貫通能力還是非常重要的。

2樓:曉淡

演算法入門要看那幾本經典的書,但是高階的話要看乙個人的聰明程度和綜合各種學科的知識的能力。說到底遇到新情況你就沒有書可以照搬了,這時還是看人聰明不聰明:

我記得大一學校有個什麼數學建模班,作為考試入班需要提交乙個程式解一大堆應用題中的乙個。彼時演算法課計算機系還沒有教,其他系更不用說。但是還是有各種人物用自發明的各種演算法加上自學的c和c++把各種問題都啃下來了。

不用任何框架直接c++/com加3d碰撞檢測的directx遊戲照樣有人做出來,還不是計算機系的。我那時覺得已經到我腦力極限的directx/opengl英文手冊在他看來和日漫一樣簡單。

3樓:請叫我皮皮狗

看書,刷題,看部落格,參加比賽。

為什麼要學演算法?

4樓:植藻

演算法的本質是解決問題的方法,是思想。

在早期的時候,人們遇到新問題,必須要去解決它,經過“冥思苦想”,“反覆探索嘗試”, 最後總結歸納。這才形成了今天我們學習的各種演算法。如果無法領會到解決問題的思想,無法總結歸納,此衫就會有:

學演算法有什麼用?”。不知道為什麼學,自然會認為學了沒意義,沒有用處。

2.乙個演算法應該具有以下五個重要的特徵:

有窮性: 演算法的有窮性是指演算法必須能在執行有限個步驟之後終止,換句話說就是乙個演算法必須總是在執行有窮步之後結束,且每一步都可在有窮時間內完成。

確定性:演算法中的每條指令必須有確切的定義,不會產生二義性,並且對於相同的輸入只能得出相同的輸出。

可行性:演算法中執行的任何計算步驟都是可以被分解為基本的可執行的操作步,即每個計算步都可以在有限時間內完成(也稱之為有效性)。

輸入: 乙個算森畝腔法有0個或多個輸入,以刻畫運算物件的初始情況,所謂0個輸入是指演算法本身定出了初始條件,這些輸入取自於某個特定的物件集合。

輸出:乙個演算法有乙個或多個的輸出,這些輸出是同輸入有著特定關係的量,沒有輸出的演算法是毫無意義的。

演算法總是要解決特定的問題,問題**就是演算法的輸入,期望的結果就是演算法的輸出,沒有輸入輸出的演算法是無意義的。

3.演算法設計的5個要求:

正確性:最基本要求,演算法必須能解決某個問題的需求。

健壯性:當輸入的資料非法時,演算法能適當做出反應或進行處理,而不會產生莫名其妙的輸出結果。

效率性:演算法是為了解決大規模問題,因此需要執行效率足夠快。

儲存性:演算法在執行過程中,所需要的最大儲存空間,應該盡可能的佔用小。

效率性與儲存性都與問題規模有關,求100人的耐攜平均分與求1000人的平均分,同乙個演算法的所花費的執行時間與儲存空間顯然是不一樣的。

正確性,可讀性,健壯性不僅僅是演算法設計的要求,而是貫穿整個軟體設計層次。單對於演算法本身來說,我們最關注的層面是效率性。千萬不能死板的認為,演算法就是電腦程式。

演算法是一切解決問題的思想,語言描述,偽**,流程圖,各種符號或者控制**同樣是演算法。

演算法是什麼

5樓:捲捲卷兒吖

演算法(algorithm)是解決一系列問題的清晰指令,也就是,能對一定規範的輸入,在有限的時間內獲得所要求的輸出。簡單來說,演算法就是解決乙個問題的具體方法和步驟。

例如威爾遜得分排序演算法,wilson score,用於質量排序,資料含有好評和差評,綜合考慮評論數與好評率,得分越高,質量越高。

u表示正例數(好評),v表示負例數(差評),n表示例項總數(評論總數)櫻圓,p表示好評率,z是正態分佈的分位數(引數),s表示最終的威爾遜得分。z一般取值2即可,即95%的置信度。

演算法性質:性質:得分s的範圍是[0,1),效果:已經歸一化,適合排序。

性質:當正例數u為0時,p為0,得分s為0;效果:沒有好評,分數最低;

性質:當負例數v為0時,p為1,退化為1/(1 + z^2 / n),得分s永遠小於1;效果:分數具有永久可比性;

性質:當p不變時,n越大,分子減少速度小於分母減少速度,得分s越多,反之亦然;效果:好評率p相同,例項總數n越多,得分段頌s越多;

性質:當分位數z越大時,總數n越重要,好評率p越不重要,反之亦然;效果:z越大,評論總數n越重要,區分度低;z越小,好評率p越重要;握頌鄭。

歷史應該怎麼學啊,歷史到底該怎麼學?

看書,看書再看書,把歷史當作 來看。另外要學著去整理歷史線素。歷史是很相似的,古今中外都是相通的。我是教歷史的。有問題的話也可以問我呀。最重要一點 要喜歡歷史才能學好歷史哦。你好,我也是一名歷史差生,我認為學好歷史除了興趣外,還要真正融入,答題時可以發散思維,除了死記硬背的之外要靈活運用,把以前學過...

應該怎麼學英語

事實上我也和你一樣,我英語之前乙個都不會。但自從每天讀半小時跟磁帶讀,漸漸就會了。一些音也讀得標準了。不論是什麼書,是要是能夠堅持學完就一定會有效果!我建議你學新概念,它是音標和語法單詞同步的,所以你只要堅持能夠把新概念學下去就一定會有效果!堅持就是硬道理!相信自己!這是我再給學生們講課中總結出來的...

到底應該怎麼做

我們在這裡也無需譴責你的男朋友,或許他還是不夠成熟,不夠有勇氣去愛你。任何乙個男人決定做真正的男人之前都會經歷過什麼,才會懂得什麼是愛,什麼是生活。姐妹,真的為你這樣做感到不值,其實也應該祝賀你,在你們接觸了僅兩年的時間就能看清他的真面目,如果是你們結婚了,遇到了什麼困難的話,那個時候他當了逃兵,我...