作者wa007123456 (大笨羊)
看板C_and_CPP
標題[問題] 高中生有辦法用C自學資料結構嗎?
時間Mon Nov 14 23:45:02 2011
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) VC++
問題(Question): 最近用網路買了一本資料結構..奇難無比..
有點挫折...
小弟本身是高中生(高二) 數學程度中等
開始的Big-O 我只知道他能測試程式的優化程度
可是他的證明..那些我真的無法理解...
但是我真的很希望能再把程式的功力提升
因為我已經很久沒進步了
有人說程式設計 "入門容易 進階難"
我想我大概體會到了...
補一下書名: 資料結構:使用C 蔡明志 著
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 125.228.230.204
→ james732:其實可以先把看不懂的東西跳過去 11/14 23:46
→ james732:看linked-list這種實作比較重、不需計算的東西 11/14 23:46
→ james732:程式寫一寫再回去看Big-O那些觀念會比較有感覺 11/14 23:46
推 shadow0326:我覺得看不看得懂複雜度的證明,跟程式功力關係不大XD 11/14 23:46
→ james732:因為我大二剛學那些東西,也覺得跟天書差不多... 11/14 23:47
→ wa007123456:太感謝你們了>< 11/14 23:47
→ james732:資料結構的東西很多,可以先挑自己看得懂的部份 11/14 23:47
→ wa007123456:所以直接先跳到..CH3 堆疊和佇列 可以嗎? 11/14 23:48
→ james732:你那本書我沒有,也不敢說可不可以,你就翻翻看囉 XD 11/14 23:48
→ shadow0326:可以 (不過你又po了一篇和本板關係不大的文章了) 11/14 23:48
推 Yshuan:你問看看數學老師 那是離散數學 搞不好學過 11/14 23:49
→ james732:話說小組長會不會說這個板也要專板專用... 11/14 23:49
→ wa007123456:沒有啦 ..對不起@@ 11/14 23:49
※ 編輯: wa007123456 來自: 125.228.230.204 (11/14 23:50)
推 ericinttu:可以先著重在寫程式上面,Big-O不懂也沒關係. 11/14 23:55
→ diabloevagto:我覺得需要先加強記憶體方面的概念,稍微看懂指標 11/14 23:56
推 ericinttu:不知道你如何去看蔡明志這本書, 或者說怎麼學習資料結構 11/14 23:58
→ ericinttu:的呢? 11/14 23:59
→ loveme00835:那一本你看中文就...還沒看過有一本翻得好的 11/14 23:59
→ tropical72:(借標題小聲問) 我手邊沒有資料結構的東西,但感覺演算 11/14 23:59
→ tropical72:法(I2A,TAOCP)裡都會提到,這樣還要特別 k 一本 DS 嗎 ? 11/15 00:00
→ x000032001:我學的時候看的是大概8~10年前的書...XD 11/15 00:02
推 yoco315:證明不用看,看怎麼用就好,另外,把英文學好,很有幫助 11/15 00:02
推 ericinttu:程設著重在學寫程式,演算法著重在虛擬碼與分析,資料是剛 11/15 00:02
→ ericinttu:好兩邊各沾一半 11/15 00:03
→ yoco315:對現在的你來說,看證明效益太低 11/15 00:04
→ loveme00835:個人覺得I2A的圖沒有比DS聖經還要好懂 11/15 00:04
→ loveme00835:看I2A的虛擬碼還不一定比看圖有sense 11/15 00:05
推 ericinttu:虛擬碼是講大架構流程,細節的運作過程還是要靠畫圖來推 11/15 00:07
→ ericinttu:演. 11/15 00:08
推 tropical72:感謝 ericinttu / loveme00835 回應. 另 DS 聖經指的是 11/15 00:10
→ loveme00835:是這本沒錯, C++的沒看過 11/15 00:17
→ wa007123456:感謝大家@@ 沒想到程式版也這麼溫馨^_^ 11/15 00:17
→ wa007123456:小弟我決定用"蠻力"看完這本書...這好像是唯一中文本 11/15 00:17
→ wa007123456:我想看不懂還是硬看過去吧 11/15 00:18
→ wa007123456:另外英文的部分 我會看看 然後好好學英文=v= 11/15 00:18
→ james732:先挑你看得懂的部份看吧,有程式實作的部份就跟著寫 11/15 00:18
→ james732:不知道要看哪的話,先自己寫個 linked-list 出來 11/15 00:19
→ wa007123456:好 11/15 00:19
→ james732:我一直覺得 linked-list 是個「懂不懂指標的門檻」 XD 11/15 00:19
→ wa007123456:我記得他用了"最壞" 所以Big-O 只是最壞的效能打算嗎? 11/15 00:20
→ wa007123456:是阿..結構裡面有一個指標指向另一個結構..有點複雜.. 11/15 00:22
→ loveme00835:不過我完全沒發現這跟C語言...= =" 11/15 00:22
→ wa007123456:對..對不起.. 11/15 00:22
推 deangogi:請問這種問題要去哪個版比較好? 11/15 00:24
推 ericinttu: 問版 XDD 那裡也有高手出没 11/15 00:25
→ tropical72:@deangogi:Programming 11/15 00:25
→ ericinttu: ↑ 還好還有這個版 11/15 00:26
※ 編輯: wa007123456 來自: 125.228.230.204 (11/15 00:27)
→ diabloevagto:ds聖經那本的c++跟c版比起來如何呢? 11/15 00:32
推 Kerick:大話資料結構 11/15 00:48
推 deangogi:這個版人氣比較高 其他版人氣有點冷清QQ 11/15 01:02
推 deangogi:不好意思借標題問 我是資工本系生 學完DS聖經之後 11/15 01:07
→ deangogi:還有其他DS推薦的書可看嗎 11/15 01:07
→ james732:聖經都學完了還有什麼問題嗎?你學習的動機是什麼? 11/15 01:07
→ james732:如果是考研究所的話應該是另一回事了...XD 11/15 01:08
→ deangogi:只是在想 是不是還有其他要學的結構? 11/15 01:10
→ deangogi:聖經本也不太可能把所有東西都講到吧0.0 11/15 01:10
推 VictorTom:淚推把英文學好很重要....Q_Q~ 11/15 01:15
→ VictorTom:話說Big-O在DS教的呀? 小弟以前是在Alg才學到的說@_@" 11/15 01:16
推 TaiwanXDman:證明跳過吧 11/15 01:19
→ TaiwanXDman:Big-O是在離散學到的XD 11/15 01:19
推 uman:蔡明志這本書編排有點像Data Structures And Program Design 11/15 01:37
→ uman:In C(有中文版),可以一起讀,或看Data Structures And Program 11/15 01:38
→ uman:Design In C++的版本,主要是看圖和說明,證明可以先略過, 11/15 01:38
→ uman:在網路可找到此書c++版本的習題解答,裡面有比較完整程式碼, 11/15 01:38
→ uman:但是裡面的標頭檔有和stl內部名稱衝突問題,以及所用的編譯器 11/15 01:39
→ uman:不支援template separate compilation,等學到後再到板上問 11/15 01:39
→ jason12308:高中生就學資料結構@@.我學校大三才教 11/15 02:30
→ wheree:個人覺得程式設計 入門難 進階易! 11/15 05:50
推 aecho:我覺得邊學邊找一些題目來寫還不錯 @@ 學的比較有動力 11/15 07:54
→ aecho:像zero on-line judge或是acm uva的題目,有的可以用到DS 11/15 07:56
→ aecho:邊看書邊寫題目會有種打電動過關的快感 =o= 11/15 07:57
→ aecho:學習應該是個快樂的過程~~ 找個樂子讓自己繼續學比較實在 11/15 07:58
推 codemonkey:可以啊,暑期資訊營(玩ACM解題)就是高中生的活動耶 11/15 08:33
→ codemonkey:Big-O算是演算法分析的入門吧,我覺得可以先跳過啦 11/15 08:34
→ codemonkey:不然你就把Big-O當成一種 max_n(MY_CODE)函數就好了 11/15 08:36
→ angleevil:入門難 進階易<--我碰程式四五年了.我從來不敢對人說 11/15 08:37
→ angleevil:我是進階程式設計師.真的不敢.c/c++沒有進階.你的產品 11/15 08:38
→ angleevil:人人搶者用.才是重點. 其實我也先學list.還不敢挑戰tree 11/15 08:39
→ angleevil:對了,firejox也是高中生.她已經會一堆DS和解acm題目 11/15 08:44
推 Bencrie:原po學東西是很好,但是請不要再留級了 orz 11/15 08:48
→ angleevil:有沒有那麼熱愛程式阿...愛到學業不顧 11/15 08:55
→ xatier:firejox 學弟超強阿!!! 11/15 09:38
→ angleevil:怎麼一堆人都是xatier學弟學長阿... 11/15 09:46
推 steve1012:所以想學DS要選c的書還是c++的書啊?有怎麼樣的地方不一 11/15 09:47
→ steve1012:樣 因為我網路搜尋兩本都有 圖書館大部分都是c的可是我 11/15 09:47
→ steve1012:學的是C++ 11/15 09:48
→ priv:等大學再看純理論的東西,現在先練程式打底 11/15 09:59
→ priv:等到大學研究所你的理解力會再上升的 11/15 10:00
推 hilorrk:<--讀到大學研究所理解力還是很差的笨蛋XD 11/15 10:40
→ james732:<--讀到研究所理解力還是很差的笨蛋XD 11/15 13:19
→ xatier:<---- 大一生,而且是個理解力很差的個笨蛋XD 11/15 14:09
推 loveangela17:程杰的大話資料結構真的很讚!!! 11/15 14:18
推 pajama: big-O 證明還蠻難的,大學生本科也不一定會 11/15 15:15
→ angleevil:big-O到最後只要知道是log(n),n,1就好.大家真的在追求 11/15 15:34
→ angleevil:幾乎是logn. 11/15 15:34
→ firejox:<---- 高三生,課業比賽兩頭燒的笨蛋XD 11/15 18:19
→ x000032001:真好 哪像我除了被要進度大概沒什麼生活壓力... 11/15 19:03
→ angleevil:...要進度的壓力最可怕吧 11/15 21:46
→ x000032001:有交代就好了(誤 11/15 21:49
推 yoco315:有個同事,dreamlinuxer,高中就解了500題acm -_- 嚇死輪 11/16 02:41
→ xatier:樓上讓我想到 vgod ....XD 11/16 03:39
→ angleevil:= =好討厭的同事...太強 11/16 05:04
推 damody:只要一直學當然會學起來,但學起來能做什麼?廉價勞工!? 11/16 20:18
推 lsc36:高三生+1...我覺得最重要的是能夠"用電腦的角度思考" 11/16 22:20
→ lsc36:要知道電腦和人腦適合處理的問題不一樣 邏輯也完全不同 11/16 22:20
→ lsc36:像sort這種事情 因為電腦一次只能比較兩個數字 11/16 22:23
→ lsc36:所以要設計一個適合電腦的算法 不能用人腦的方法解決 11/16 22:23
→ angleevil:人腦才是王道. 11/17 11:23