版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、一個(gè)北大學(xué)生學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)的經(jīng)驗(yàn)1學(xué)習(xí)方法因?yàn)橐獪?zhǔn)備這個(gè)話題,所以我認(rèn)真的思考了我的學(xué)習(xí)方法,但是我覺得基本上我就是上課前看看書、上課時(shí)認(rèn)真聽課、下課以后復(fù)習(xí)復(fù)習(xí)、當(dāng)然還有做作業(yè)時(shí)很認(rèn)真的去做。根本談不上什么好方法,不過我還是有一些話要送給大家。我能行!個(gè)人覺得這句話非常重要,不知道大家是怎樣看待數(shù)據(jù)結(jié)構(gòu)這門課的,有多少人覺得數(shù)據(jù)結(jié)構(gòu)很難呢?我知道還是有一些同學(xué)這樣覺得的,有時(shí)候我跟我的朋友講要怎樣學(xué),講了一大堆以后,他就向我抱怨:我以前
2、c++都沒有學(xué)好,數(shù)據(jù)結(jié)構(gòu)更學(xué)不好了,這哪跟哪的話啊,數(shù)據(jù)結(jié)構(gòu)與c++沒有什么關(guān)系,我想假如抱有這樣的心態(tài),自己就不相信自己,那是不可能學(xué)好的,然后那些覺得數(shù)據(jù)結(jié)構(gòu)很難的同學(xué),我想他們應(yīng)該會(huì)很看重?cái)?shù)據(jù)結(jié)構(gòu)的吧,然后就一天到晚捧著一本數(shù)據(jù)結(jié)構(gòu),這樣不會(huì)覺得很累嗎?而且因?yàn)橛X得很難,就容易不相信自己,學(xué)的效率也不會(huì)很好,個(gè)人認(rèn)為數(shù)據(jù)結(jié)構(gòu)很好學(xué),很容易學(xué),或許這有點(diǎn)妄自菲薄吧,但是因?yàn)槲矣X得很容易,當(dāng)然就會(huì)覺得自己沒問題,學(xué)得很輕松,效果也還
3、可以。大家都是從高考走過來的,應(yīng)該知道心態(tài)的重要性吧,兩種不同的心態(tài),完全就是兩種不同的效果。學(xué)了這么久數(shù)據(jù)結(jié)構(gòu)了,我們到底在學(xué)些什么呢?不知道大家有沒有想過,那現(xiàn)在我們現(xiàn)在來歸納一下我們學(xué)習(xí)的內(nèi)容吧,其實(shí)學(xué)到現(xiàn)在我們也就學(xué)了幾種普通的數(shù)據(jù)結(jié)構(gòu),象二叉樹,樹,圖,還有排序的問題,前面的線性表和字符串也就是一些概念,當(dāng)然還有一個(gè)很重要的KMP算法,然后在每種數(shù)據(jù)結(jié)構(gòu)中我們也就是學(xué)到了若干處理的算法,我想真正數(shù)起來也就是幾十個(gè)算法吧。學(xué)習(xí)數(shù)
4、據(jù)結(jié)構(gòu)也就是要掌握這幾十種算法,多簡單。至于如何掌握每個(gè)算法呢,我想就是多看看書,重要的是能夠理解。我能獨(dú)自完成作業(yè)!這里我的定義和老師的不同,老師是鼓勵(lì)大家討論的,不過我發(fā)現(xiàn)還是有一些同學(xué)就是先問好別人算法,然后再自己寫,雖然這個(gè)不算抄襲作業(yè),但自己基本上沒有一個(gè)思考問題的過程,雖然要理解算法也會(huì)要思考很多,但是因?yàn)闆]有自己獨(dú)立的思考過程,要自己寫程序、寫算法的時(shí)候根本寫不出來,所以我想如果真的想學(xué)好數(shù)據(jù)結(jié)構(gòu)的話,最好是能夠自己思考問
5、題,不要?jiǎng)傁肓艘粫?huì)就覺得做不出來,然后就去問其他人。其實(shí)老師給我們的作業(yè)還是基于我們的水平的,我絕對(duì)相信我們自己能夠獨(dú)自想出算法,雖有可能會(huì)比較長時(shí)間吧,但是這樣肯定會(huì)比問其他人學(xué)到更多的東西。當(dāng)然我并不是說不要問同學(xué),有時(shí)候就是腦筋轉(zhuǎn)不過來,一問別人就懂了,當(dāng)然問了別人不能只是我知道了這個(gè)算法,還應(yīng)該去想如何思考才能得到這個(gè)算法,這樣水平會(huì)提高很多。多實(shí)驗(yàn)!這個(gè)就沒有太多理由了,我一直覺得編程是一門熟練科學(xué),多編程,水平肯定會(huì)提高,最
6、重要的是能夠養(yǎng)成一種感覺,就是對(duì)程序?qū)λ惴ǖ拿舾?,為什么那些牛人看一個(gè)算法一下子就看懂了?而自己要看很久才能弄懂,而且弄懂了過了一陣子又忘記了?其實(shí)這個(gè)是因?yàn)榕H藗円郧翱吹某绦蚝芏?,編得也很多,所以他們有了那種感覺,所以我覺得大家一個(gè)學(xué)生學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)的體會(huì)(轉(zhuǎn))讀《數(shù)據(jù)結(jié)構(gòu)(C語言版)》(1)今天開始認(rèn)真讀這本清華版的數(shù)據(jù)結(jié)構(gòu),嚴(yán)蔚敏和吳偉民編著。也許你會(huì)奇怪我為什么會(huì)選擇這本C語言描述的數(shù)據(jù)結(jié)構(gòu)書,現(xiàn)在的數(shù)據(jù)結(jié)構(gòu)不都用面向?qū)ο笳Z言描述
7、嗎?其實(shí)這本書不是我選的,而是我參加的機(jī)試指定的參考書。不過對(duì)于本書選用的語言,我倒有自己的看法。用C語言描述顯然有很多不便,但是在一個(gè)充斥著用OO描述數(shù)據(jù)結(jié)構(gòu)的世界里,從OO中抽身出來用C看待數(shù)據(jù)結(jié)構(gòu)的思想,也許更能看清數(shù)據(jù)結(jié)構(gòu)的本質(zhì)。好了,言歸正傳。在今天這第一篇文章里,我來探討一下數(shù)據(jù)結(jié)構(gòu)的基本概念。作者一開篇就歸納了計(jì)算機(jī)解題的一般步驟:“首先要從具體問題抽象出一個(gè)適當(dāng)?shù)臄?shù)學(xué)模型,然后設(shè)計(jì)一個(gè)解此數(shù)學(xué)模型的算法,最后編出程序,進(jìn)
8、行測試、調(diào)試直至得到最終解答。”我把它再進(jìn)一步歸納一下,就是:抽象數(shù)學(xué)模型——設(shè)計(jì)算法——編寫程序。這個(gè)思路非常重要,除了一些非常簡單的問題,所有的程序設(shè)計(jì)都應(yīng)該遵循這三個(gè)基本步驟。我們平時(shí)寫程序常犯的錯(cuò)誤是忽略第一個(gè)或第二個(gè)步驟,或者更甚者,前兩個(gè)都忽略。在設(shè)計(jì)數(shù)學(xué)模型的過程中,實(shí)際上就引出了數(shù)據(jù)結(jié)構(gòu)的概念。本書中作者給出的定義是:“簡單來說,數(shù)據(jù)結(jié)構(gòu)是一門研究非數(shù)值計(jì)算的程序設(shè)計(jì)問題中計(jì)算機(jī)的操作對(duì)象以及它們之間的關(guān)系和操作等的學(xué)科
9、?!眹鴥?nèi)的教材為了語言上的嚴(yán)謹(jǐn)常常把話說得很難懂。請(qǐng)大家注意這句話里的這幾個(gè)關(guān)鍵詞:1)非數(shù)值計(jì)算,這說明了數(shù)據(jù)結(jié)構(gòu)這門學(xué)科的應(yīng)用范圍,如果你想解一個(gè)線性方程組,大概很難直接找到合適的數(shù)據(jù)結(jié)構(gòu);2)操作對(duì)象,也就是問題中的數(shù)據(jù)及其表示的形式;3)關(guān)系,即數(shù)據(jù)間的關(guān)系;4)操作,即針對(duì)數(shù)據(jù)的操作。把以上的定義用公式寫出來,就是Data_Structure=(DS)其中D是數(shù)據(jù)元素的有限集,S是D上關(guān)系的有限集。所以在設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)時(shí),首要的
10、任務(wù)就是找出要操作的數(shù)據(jù),其次是挖掘出數(shù)據(jù)間的關(guān)系。這兩步完成以后,數(shù)據(jù)的邏輯結(jié)構(gòu)就定下來了。其中數(shù)據(jù)間的結(jié)構(gòu)有以下幾種:集合,這和數(shù)學(xué)中的集合概念是一致的;線性結(jié)構(gòu),即數(shù)據(jù)元素之間一對(duì)一的關(guān)系;樹形結(jié)構(gòu),即數(shù)據(jù)元素之間一對(duì)多的關(guān)系;圖狀結(jié)構(gòu)或網(wǎng)狀結(jié)構(gòu),即數(shù)據(jù)元素之間多對(duì)多的關(guān)系。然而只有邏輯結(jié)構(gòu)是不夠的,程序要能夠運(yùn)行,必須把數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中表示出來,也就是設(shè)計(jì)物理結(jié)構(gòu)。大多數(shù)高級(jí)語言都對(duì)數(shù)據(jù)的物理結(jié)構(gòu)有較好支持,如各種數(shù)據(jù)類
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 清華北大學(xué)生的學(xué)習(xí)方法總結(jié)
- 湖北大學(xué)生創(chuàng)業(yè)示范基地
- 1917—1927年北大學(xué)生社團(tuán)研究.pdf
- 服務(wù)他人獲得經(jīng)驗(yàn)一個(gè)關(guān)于大學(xué)生參與服務(wù)學(xué)習(xí)的研究【外文翻譯】
- 一個(gè)大學(xué)生的心理
- 湖北大學(xué)生優(yōu)秀科研成果
- 河北大學(xué)生科院英文成績單
- 西北大學(xué)生物化學(xué)試題
- 2019年西北大學(xué)生科院學(xué)術(shù)碩士復(fù)試安排
- 湖北大學(xué)生物化學(xué)試題
- 怎樣做一個(gè)合格的大學(xué)生
- 2019年西北大學(xué)生科院專業(yè)碩士復(fù)試安排
- 一個(gè)大學(xué)生的心酸歷程
- 一個(gè)大學(xué)生 一位廚師
- 講義1北大學(xué)生成功與家庭教育的關(guān)系
- 湖北大學(xué)生經(jīng)濟(jì)學(xué)術(shù)研討會(huì)簡介
- 湖北大學(xué)生經(jīng)濟(jì)學(xué)術(shù)研討會(huì)簡介
- 當(dāng)前湖北大學(xué)生職業(yè)價(jià)值觀教育研究.pdf
- 家庭教育之北大學(xué)生成功與家庭教育
- 湖北大學(xué)生經(jīng)濟(jì)學(xué)術(shù)研討會(huì)簡介
評(píng)論
0/150
提交評(píng)論