最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

到底該怎么學(xué)習(xí)算法

2023-05-04 19:10 作者:下班被游戲打-  | 我要投稿

A: 我到底該怎么學(xué)習(xí)算法呀?

B: 回答這個問題前,我們先來舉個例子:如何實現(xiàn)“把大象裝進(jìn)冰箱”?

A: ? 三步。第一步,把冰箱門打開,第二步,把大象裝進(jìn)去,第三步,把冰箱門帶上。

B: ?在這個程序中,大象、冰箱,是數(shù)據(jù),而“如何把大象裝進(jìn)冰箱”,就是這個程序的算法。

B: ? 算法一:把大象放在冰箱前,把冰箱門打開,把大象裝進(jìn)去。算法二:把冰箱門打開,把大象放在冰箱門前,然后把大象裝進(jìn)去。算法三:把大象放在冰箱前,把冰箱門打開對準(zhǔn)大象,然后把冰箱向著大象推動直至把大象裝進(jìn)去。

B: ? 實現(xiàn)一種需求,可以設(shè)計出多種算法,并且,算法在很大程度上決定了你寫出的程序漂不漂亮、巧不巧妙,所以我們學(xué)習(xí)算法的目的是為了在寫程序時能夠設(shè)計出更優(yōu)化的方案。

B: ?對于初學(xué)者來說,可以分成三個階段進(jìn)行算法的學(xué)習(xí),循序漸進(jìn),逐步深入。

A: ?快給我講講

B : 第一階段:基于語言去學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu),繼續(xù)舉大象的例子。一個把十頭大象裝進(jìn)冰箱的程序,首先要解決的問題是:如何存放這十頭大象。你可以把這十頭大象用繩子挨個串起來,這樣即使大象會亂跑,但只要你一直抓著繩子頭,就可以順藤摸瓜,把十頭大象都找到;或者,你可以制作十個緊挨著的格子,然后把每頭大象依次放到格子中,這樣大象就不會亂跑。在這里我們可以看到,同樣是存放十頭大象,我們設(shè)計出了兩種不同的方式,這兩種對大象(數(shù)據(jù))的存放方式,就是“數(shù)據(jù)結(jié)構(gòu)”。

B: ?每種語言都有一些數(shù)據(jù)結(jié)構(gòu),因此可以通過自己熟悉的語言先對數(shù)據(jù)結(jié)構(gòu)進(jìn)行了解。

A: ?那第二個階段是什么呢?

B: ? 第二階段:基于數(shù)據(jù)結(jié)構(gòu)去學(xué)習(xí)基本的算法。

B: ? 在對數(shù)據(jù)結(jié)構(gòu)有了一定了解的基礎(chǔ)上,就可以對常用的算法進(jìn)行學(xué)習(xí)了。比如最基本的各種不同的排序方法:冒泡排序法、選擇排序法等等。在此期間,可以加強對“時間復(fù)雜度”這一概念的了解,同時開始學(xué)習(xí)一些更高級的數(shù)據(jù)結(jié)構(gòu)。

B: ? 在這個階段,建議找個OJ(Online Judge) 嘗試做題,遇到問題可以更有針對性的學(xué)習(xí)。

Online Judge會給你一個簡單的問題,然后讓你編程解決,系統(tǒng)會有很多測試樣例。如果你的代碼可以通過所有的測試樣例,那么說明你的代碼邏輯上是正確的。同時OJ都會有一定的內(nèi)存使用與運行時間限制,過于低效或耗費大量非必要空間的算法將不會通過測試。

A: 那最后一個階段是啥呢?

B : 第三階段:基于具體需要和個人興趣進(jìn)階

B: 如果只是要滿足基本使用或大多數(shù)工作中的需求,那么完成第二階段基本就足夠了(除非你是專門研究算法的)。


到底該怎么學(xué)習(xí)算法的評論 (共 條)

分享到微博請遵守國家法律
临洮县| 荔浦县| 麦盖提县| 瑞昌市| 无棣县| 新泰市| 奉化市| 沧源| 珠海市| 霍邱县| 西青区| 泾源县| 广东省| 噶尔县| 拜泉县| 康马县| 富阳市| 岗巴县| 基隆市| 肥城市| 荆门市| 河曲县| 临高县| 石家庄市| 平江县| 前郭尔| 荥阳市| 婺源县| 榕江县| 娱乐| 灌云县| 常宁市| 佛坪县| 葫芦岛市| 平远县| 卢氏县| 台安县| 望江县| 平顶山市| 乌兰浩特市| 鲁甸县|