請教程式設計高手 如何培養編寫演算法的思路

時間 2021-05-02 22:07:02

1樓:o0御劍江湖

我覺得,想要精通演算法必須要重視實踐,就是要把所有的經典演算法都親手實踐,而且在這個過程中是不能查閱書本的,盡量做到熟練,這樣才能夠提取出這個演算法的精髓,並且能夠應用自如,數學肯定是乙個基本功,像高數,線代,離散數學,組合數學,運籌學最好都涉及並且做到精通,做acm比賽的基本功要求是出現的經典演算法,像堆排,快排,最小生成樹,佛洛依德等等都要反覆打30多遍,這樣就能做到真正的熟練了,有了良好紮實的基本功再加上以後再多看看新穎的演算法,就能真正掌握了,其實混亂的思路還是因為對經典的演算法沒有完全掌握,看懂和寫出來是完全不同的,我的經驗是看《演算法導論》+在oj上做題,總之實踐是很重要的。

2樓:匿名使用者

我個人認為,所有的演算法都是**於數學的。如果你真要學習演算法的話,首先要學好數學。這是我個人的經驗。無論以後做分析,還是做開發。即便是要定義乙個陣列,也離不開數學的知識。

數學學的好,在解決問題的時候就會有更多的思路,也就是演算法。

我是個c#的程式設計師,現在也在努力學習數學中。

希望對你有幫助

3樓:安徽新華電腦專修學院

隨機函式一種思維是獲取電腦時間的毫秒值,再根據這個值做下處理,這樣就可以生成隨機數了。

4樓:匿名使用者

多看看資料結構

多看看資料庫應用設計

如何系統的提高自己的演算法和程式設計能力

5樓:綠綠草原廣大遠

這兩門課程對於程式設計而言是非常重要的,但由於大學課程安排的不合理性以及學生自身的程式設計差異,對於未深入研究過程式設計的人或者未參與過專案開發的人而言,課程缺乏足夠的吸引力。

6樓:沉日天下

個人看法:實踐中出真知。不斷利用掌握的技能去解決現實的問題。

不斷地找各種各樣的程式設計任務,自己學著去完成它,不懂就多思考,多查資料,多看程式設計高手是如何實現演算法的。慢慢,你會發現,能力不斷提到提高。

怎麼才能有程式設計的思路啊

7樓:匿名使用者

「我感覺自己沒有程式設計思想,沒有解題思路」

這其實主要是不清楚演算法,也就是邏輯思維需要鍛鍊。

可以嘗試去看一些關於演算法的書籍,或者找一些例項書籍(推薦),對照例項學習程式的演算法。如果比較笨一點,第二個方法很有效。看例項的時候要把好的演算法變成自己的,要記住優秀的演算法。

c語言(c++)演算法很多,看的例項多了遇到類似的問題就可以借鑑甚至是完全照搬,不會手足無措。

打個比方,比如c++的標準庫里自帶了list,那麼如果你需要乙個list你就可以完全使用標準庫里的list而不應該自己去編寫乙個,這樣既不用為如何寫list而犯愁,又節省除錯的時間。(僅僅是個比方,list相信大家都會寫)

其實我們的成長過程也是一步步汲取別人的經驗。

同時,對自己的邏輯能力的訓練也是乙個程式設計師不要忘記的部分。可以去做一些這方面的練習,baidu上搜尋一下應該到處都是。比較經典的有海盜分錢、12球找出異常球等等這些。

邏輯能力就相當於理論指導,例項演算法就相當於實戰經驗。

不斷鍛鍊自己的邏輯思維能力、多學習一些例項演算法,相信你也能快速成長。

8樓:匿名使用者

首先要 知道你在程式設計做什麼事情 程式要完成什麼功能這就是思路

至於看書 首先看看基本的語法,最基本的解題技巧之類的然後一定要找實際的題目自己去做一下,做的多了 自然就有經驗了

9樓:白亞明

演算法思路是慢慢積累的,多點思考,思考完再看解答,會加深思路的擴充套件。

然後,弄懂一道程式設計題很關鍵,知道問題需要的輸入、輸出、可以分成哪幾步書,一步一步分割就行了。

舉個例子:

joseph環

輸入:總人數n 數數間隔m

輸出:最後乙個小孩的號碼

第一步:構造joseph環,建立陣列,初始化小孩的號碼和狀態第二步:當小孩的個數大於1則踢出被數的小小孩。

第三步:返回最後乙個小孩的號碼。

這樣分步下來很有次序,寫起來也不會不知道寫到**了。。

10樓:匿名使用者

從教材的第一頁開始看,

至於思路,從要解決的問題找到解決問題的演算法,然後再用程式實現演算法。

11樓:蠻蠻工作室

剛開始學的人都會犯這個毛病,我告訴你個真理:不管懂不懂,把書一遍遍地看,一本書看上三遍,再加上一些實際的實踐操作,如果你還不懂,那麼再看第二本書,如果你真這樣看幾本書的話,我想你一定不會再在這上面這麼問了。

12樓:娜就是荔

先打好基礎把細節掌握好,否則容易在細節上出錯,然後多做一些程式設計的題目,最好是在電腦上實習,這樣效果更好,容易知道出問題的原因,這樣該起來就很簡單了,提高得也更快。

總之是多動手,不能怕動手,越是怕動手越編不好最後容易產生厭倦感以後逐步提高程式設計的**量,二樓就說得很好

good luck

13樓:愛夢之雨

每天堅持500行**,練多了就有思路~

14樓:跨界碼客

不要看書,看別人寫的程式. 理解別人寫的,自己的也差不多出來了.

程式設計師的程式設計思想怎麼培養?

15樓:西瓜創客

程式設計思想培養當然要多練習總結了,我就以程式設計思想中演算法 —— 邏輯思維來舉例子吧。

在具體解決問題的過程中,最關鍵的能力有兩個 —— 「邏輯思維」和「除錯糾錯」。

程式設計師圈子很流行的乙個笑話。

結果娃爸手捧乙個包子進了門。娃媽怒道:「你怎麼就只買了乙個包子?!」

娃爸答曰:「因為看到了賣西瓜的。」

雖然是乙個黑程式猿的笑話,但也體現了很典型的程式設計思維。程式設計就是理性嚴謹地與電腦對話,因此對程式設計者的邏輯思維能力也有很高的要求。

邏輯思維中有個很重要的原則叫 mece(mutually exclusive and collectively exhaustive),意思就是「相互排斥且整體完備」,也就是「不重複,不遺漏」。

在程式設計的演算法中,需要處處考慮mece原則。解數學題時,也是同乙個道理——我們要保證答案中考慮到所有的情況,而這些情況既不遺漏,也不重疊。

除錯糾錯能力

程式設計的世界裡,只有對與錯,沒有模糊值。在程式執行的過程中,只要最終的結果與期望不符合,就證明演算法中肯定有錯漏。

但是,程式中的bug常常不是一下就能找到的,需要我們把程式的執行順序一步步地跟走一遍,同時觀察每一步的執行結果。這就需要很多的耐心、觀察力和專注力,對抗挫能力也是一種磨練。在這個過程中,也會逐漸懂得乙個道理:

犯錯很正常,糾正它,下次不再犯類似的錯誤就好。

這一點,也是優秀的人身上常常共通的一項品質。這些人總是在進步,因為他們懂得「回溯、除錯、糾錯」,不斷進行自我優化和成長,不斷be better。

希望對你有所啟發幫助

16樓:江西新華電腦學院

現在都是資訊化的時代,沒有一門好的技術是難以在社會之中立足的,

現在的電腦技術飛速增長,每家公司都需要電腦人才,你可以去學習電腦專業,

在這個領域中還是有很大的發展空間的,只要自己好好學習,以後的前景不可限量。

17樓:匿名使用者

程式設計說到底是需要通過不斷的實踐去總結,提高,對於初學者最好的方法也是如此。

18樓:

我想我還不算合格吧。

但我知道程式設計師離不開數學知識,需要較強的邏輯思維。

面像對像的程式設計思想就是:你讓具備某種屬性的事物去完成某項工作,這就是面像物件了,而你不需要知道它是怎麼完成的,只要告訴它去做什麼就ok了。

19樓:匿名使用者

我搞過程式設計

一定要學好數學,重要的是數學中解決問題的方法

請教高手,想我這樣該如何理財,請教高手,想我這樣該如何理財?

你的情況跟我差不多!鑑於你給出的資訊太少,沒有詳細說明你每個月的花費情況 生活水平,還有你想要通過理財達到乙個什麼目標。我的簡單建議是這樣的 4000元,分成四份。1。固定儲蓄1000元,這1000元可以通過銀行卡辦 定投,這是最簡便的強制儲蓄!不過今年以來市場情況一直不看好,建議你買貨幣型 做定投...

flashfxp突然連線失敗,請教高手如何解決

flashfxp是ftp工具 你需要得到乙個授權使用的ftp或web空間才可以具體的使用方法 在站點管理器或哪點選哪個閃電的圖示開啟快速連線下面以快速連線介面為例說明 站點管理器中的設定與其大同小異 點選閃電圖示 選擇快速連線 在出來的對話方塊中在 伺服器或url 哪欄裡輸入你要連線的 位址或 ip...

請教高手如何設定環境變數

我的電腦 屬性 高階 設定環境變數 系統變數 下面的那個框,上面是使用者變數,使用者變數設定只對當前使用者有用 path 雙擊開啟,輸入你的jdk路徑 你的應該是 bin裡放的是編譯程式,所以你的路徑為 d jdk 是找不到對應的程式的 在命令提示符下鍵入 set path d jdk bin 不過...