?? subject_53043.htm
字號(hào):
<p>
序號(hào):53043 發(fā)表者:巴巴羅沙 發(fā)表日期:2003-09-16 21:54:59
<br>主題:如何學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)?
<br>內(nèi)容:目前為止,只會(huì)用簡(jiǎn)單的鏈表、堆棧、二叉樹,還從來(lái)沒(méi)做過(guò)圖算法的實(shí)驗(yàn)。學(xué)了<BR>Win32 API后,做過(guò)一個(gè)哈夫曼編碼的圖形化演示程序,編解碼的代碼是從書上抄地。<BR>最近決定在一年內(nèi)把老嚴(yán)那本書看一遍,重要的一定下手編寫調(diào)試一番,可是感覺(jué)很多算法不知道該怎樣處理,像KMP算法,不好理解呀,又不是自己寫的,雖然一段時(shí)間內(nèi)懂了,<BR>很快就會(huì)忘記的,翻了一下《算法導(dǎo)論》,KMP屬于對(duì)數(shù)學(xué)要求較高的部分,上面特意做了標(biāo)記的,不知道大家是怎樣學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)的?能否共同討論一下?還有,碰到KMP這類算法,還有最短路經(jīng)算法,大家都是怎么處理的?是不是看一邊就放過(guò),用的時(shí)候copy一下代碼,還是另有其他處理手段?
<br><a href="javascript:history.go(-1)">返回上頁(yè)</a><br><a href=http://www.copathway.com/cndevforum/>訪問(wèn)論壇</a></p>
<hr size=1>
<blockquote><p>
回復(fù)者:xiongli 回復(fù)日期:2003-09-16 22:26:45
<br>內(nèi)容:通用的算法可以直接抄書的
<br>
<a href="javascript:history.go(-1)">返回上頁(yè)</a><br><a href=http://www.copathway.com/cndevforum/>訪問(wèn)論壇</a></p></blockquote>
<hr size=1>
<blockquote><p>
回復(fù)者:巴巴羅沙 回復(fù)日期:2003-09-16 22:52:46
<br>內(nèi)容://通用的算法可以直接抄書的<BR>是不是把書看一遍就OK,然后做做相關(guān)試驗(yàn)?
<br>
<a href="javascript:history.go(-1)">返回上頁(yè)</a><br><a href=http://www.copathway.com/cndevforum/>訪問(wèn)論壇</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回復(fù)者:阿志 回復(fù)日期:2003-09-16 23:02:59
<br>內(nèi)容:看一邊就放過(guò),用的時(shí)候copy一下代碼
<br>
<a href="javascript:history.go(-1)">返回上頁(yè)</a><br><a href=http://www.copathway.com/cndevforum/>訪問(wèn)論壇</a></p></blockquote>
<hr size=1>
<blockquote><p>
回復(fù)者:阿志 回復(fù)日期:2003-09-16 23:50:35
<br>內(nèi)容:應(yīng)該聽(tīng)聽(tīng)高手怎么說(shuō),~~<BR><BR><BR>//誤人子弟,罪過(guò)
<br>
<a href="javascript:history.go(-1)">返回上頁(yè)</a><br><a href=http://www.copathway.com/cndevforum/>訪問(wèn)論壇</a></p></blockquote>
<hr size=1>
<blockquote><p>
回復(fù)者:巴巴羅沙 回復(fù)日期:2003-09-17 11:26:53
<br>內(nèi)容:我覺(jué)得自己思考來(lái)的算法理解會(huì)特別深刻,稀疏矩陣求和、二叉樹遍歷的非遞歸算法都是在沒(méi)看參考書的情況下自己捉摸的。當(dāng)然啦,最短路經(jīng)、模式匹配這類算法可不是隨便思考一下就能搞定的,這種情況下怎么處理就是個(gè)問(wèn)題了。
<br>
<a href="javascript:history.go(-1)">返回上頁(yè)</a><br><a href=http://www.copathway.com/cndevforum/>訪問(wèn)論壇</a></p></blockquote>
<hr size=1>
<blockquote><p>
回復(fù)者:困惑的人 回復(fù)日期:2003-09-17 12:45:53
<br>內(nèi)容:關(guān)注
<br>
<a href="javascript:history.go(-1)">返回上頁(yè)</a><br><a href=http://www.copathway.com/cndevforum/>訪問(wèn)論壇</a></p></blockquote>
<hr size=1>
<blockquote><p>
回復(fù)者:巴巴羅沙 回復(fù)日期:2003-09-18 00:43:19
<br>內(nèi)容:自己頂一把.
<br>
<a href="javascript:history.go(-1)">返回上頁(yè)</a><br><a href=http://www.copathway.com/cndevforum/>訪問(wèn)論壇</a></p></blockquote>
<hr size=1>
<blockquote><p>
回復(fù)者:xiongli 回復(fù)日期:2003-09-18 00:55:42
<br>內(nèi)容:我是這樣的<BR>首先是把書精讀一遍,所有的代碼和方法都必須要清楚的<BR>也就是說(shuō)必須熟悉基本的數(shù)據(jù)結(jié)構(gòu)以及相關(guān)的算法<BR>比如樹里面,樹的組織,二叉樹的定義和基本知識(shí),如何把樹保存在數(shù)組里面,如何前序,中序,后序遍歷等等.學(xué)的時(shí)候就要學(xué)清楚.這些搞清楚以后是為了讓你在需要用到他們的時(shí)候,能夠知道大概用哪一種數(shù)據(jù)結(jié)構(gòu)來(lái)描述,分別有什么特點(diǎn).<BR>對(duì)于具體的算法和結(jié)構(gòu)定義,第一次弄懂后,最好上機(jī)調(diào)一次,后面就不用專門復(fù)習(xí)了.等到特定要用的時(shí)候再回來(lái)復(fù)習(xí).<BR>比如前幾天我做一個(gè)basic的解釋程序.對(duì)于程序符號(hào)表的存儲(chǔ),我知道用hash 比較適合,對(duì)于表達(dá)式翻譯,我知道用堆棧求解后綴表達(dá)式是通用的方法.因?yàn)橥ㄟ^(guò)前面的學(xué)習(xí),我已經(jīng)非常了解這兩個(gè)數(shù)據(jù)結(jié)構(gòu)的特性了.于是我把書找出來(lái),看一遍后直接把代碼copy上去,然后作了一些小修改來(lái)適應(yīng)我自己的需求,就這樣我覺(jué)得就可以了.<BR>再舉個(gè)例子,比如對(duì)于排序,看完大概6種方法后,你應(yīng)該會(huì)有一個(gè)概念,除了快速排序外,其他的方法時(shí)間復(fù)雜度都是一樣的.但是對(duì)于快速排序,對(duì)已經(jīng)快排序好的進(jìn)行排序,時(shí)間復(fù)雜度又是最差的,有了這些知識(shí),你就可以選擇適合你自己的數(shù)據(jù)結(jié)構(gòu)了.<BR>2003-9-18 1:03:29
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -