推 cjdcjdc:我想從基本的程式開始學。基礎功夫做得好,程式錯誤才會少 08/22 23:19
→ cjdcjdc:想問一下,要能很熟練的寫出排序的程式,要學多久的時間? 08/22 23:33
推 cjdcjdc:有時候滿羨慕像你這樣會寫程式的人 ㄏㄏ~~ (努力學習中) 08/22 23:35
雖然覺得你很有心想要努力一番,但是這樣下去可能效益不大
雖然練習可以讓你 100% 寫同一個排序到順手的境界
不過寫程式不是考試。不用你一氣呵成沒有錯誤。
拿你想練的排序為例,你要怎麼寫一個 Quick Sort 呢?
以資料結構的書,大部分會用迴遞來當成展示的技巧。
不過這對於學習新知的人,可能產生不小的負擔。
同時要應付二個新的概念:
找到了一個 pivot 後,左邊遞迴,右邊遞回。
直到沒有東西可以遞迴
這實在太難理解了。
也許你正考慮多寫幾次來精熟這個過程。
但那只是一種型式上的東西,乎幾你想得到的常用的排序法
都有演算法可以查得到,也有虛擬碼。
你應該以自己聽得懂的方法,從新詮釋虛擬碼或真實的程式
"一堆未排序的東西" 找到一個切割為2群的方法 (pivot)
把他切為 2 群,......
這 2 群中,也都是一堆未排的東西,
你一樣找一個切割為2群的方法,把他切割成 2 群........
.......................... 當分到不能再分時,就排完了..
這才是練習寫程式,語法是必備的,還不熟請自備小抄
打錯字是常有的,請耐心閱讀畫面上回應的錯誤訊息
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.231.51.117
※ 編輯: qrtt1 來自: 61.231.51.117 (08/23 00:17)
推 PsMonkey:精華區 Z-3-3-3- 08/23 00:23
推 neverfly:我覺得寫String Matching比Sorting有樂趣 08/23 01:03
→ TonyQ:String matching 他以後多的是時間做 sort很少做吧XDD 08/23 02:30
推 mixfuture:說的好..把很東西換成自己懂得語言..這樣應該表示自己也 08/26 03:09
→ mixfuture:懂了.. 08/26 03:10