作者jack1218 (赤城我老婆)
看板Soft_Job
標題[請益] 如何將演算法/資料結構融入程式能力
時間Sat Mar 3 18:43:44 2018
版上的大大你們好
我現在是大二資工學生
已經修過了資料結構和演算法
學得還行
算是最高分通過
但是在自己寫程式的時候
演算法依然直觀使用暴力法
資料結構陣列或容器無腦做
有時候覺得這裡應該有更好的演算法或是資料結構
但是要多次思考之後才能使用
沒辦法快速的用出來
請問如何將演算法和資料結構融入寫程式的能力呢
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.140.47.161
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Soft_Job/M.1520073827.A.A8F.html
1F:推 gn01838335: 應該去想什麼問題要用什麼資料結構和演算法吧03/03 18:48
2F:→ jcaosola: 習慣比個線上演算法競賽就慢慢對什麼問題該用什麼算法03/03 19:36
3F:→ jcaosola: 有感覺了03/03 19:36
4F:推 lNishan: 推薦 Codeforces 題目比較有品質 而且都會有賽後解說03/03 19:52
5F:推 yamakazi: 課金刷leetcode 不然就從codilty的免費教學做起03/03 19:57
6F:→ lNishan: 非面試不推 leetcode ,上面題目 spec 都沒寫清楚03/03 20:15
7F:→ lNishan: 比如說如果數字範圍不超過 10^6 排序就能考慮 counting03/03 20:18
8F:→ lNishan: sort ,但是 LeetCode 上都不會提供這些資訊03/03 20:18
9F:→ pttworld: 現在流行Codility,這個代考收費的。03/03 20:18
10F:→ lNishan: 真的在面試的時候也會建議 spec 問清楚再下去解03/03 20:19
12F:→ oopFoo: practice, practice. 還有mentor. 找個你喜歡的project03/03 21:10
13F:→ oopFoo: 還可賺錢。03/03 21:10
3/13才能開始嗎
14F:推 obamina48: 推 GSoC ! 裡面蠻多很棒的 project,可惜學生時還不知03/03 21:20
15F:→ obamina48: 道這種活動 QQ03/03 21:20
※ 編輯: jack1218 (223.140.47.161), 03/03/2018 21:30:20
16F:→ lNishan: GSoC 是暑期 project (美國的暑期 所以日期會衝到)03/03 21:48
17F:→ lNishan: 3/13 開始是 Project Proposal 要自己上去看有哪些開源03/03 21:51
18F:→ lNishan: 組織底下的 project 是你喜歡的,然後提出自己的計劃03/03 21:51
19F:→ lNishan: 計畫如果被開源組織審核過了 5 月中才真的開始寫 code03/03 21:52
20F:→ lNishan: mentor 由開源組織提供,薪資 Google 贊助03/03 21:53
21F:→ lNishan: 五月中會切到一點學期末的時間,所以那時候會有點忙03/03 21:53
22F:→ lNishan: 這個 program 跟演算法 資結比較無關,但是建議考慮看看03/03 21:54
codeforce我用過 不過不想寫leetcode
這個專案我研究看看
台灣學生也能申請吧
※ 編輯: jack1218 (223.140.47.161), 03/03/2018 22:04:05
23F:→ lNishan: 可以 03/03 22:32
24F:→ ThxThx: GSoC搶蠻凶的 03/03 22:55
25F:→ ThxThx: 聽說都是已經對那個專案有貢獻(發過PR那種)才會上 03/03 22:55
26F:→ ThxThx: 當然還是可以去試試看啦... 03/03 22:55
27F:推 jj0321: ACM程式解題阿 玩這個才知道什麼叫真正DS/ALOG03/04 15:12
28F:→ jj0321: 往這方面找資源來練, 練到畢業肯定有成長 03/04 15:13
29F:→ jj0321: 最有名的訓練課程是USACO 可以註冊學看看 03/04 15:15
這我有帳號
30F:→ jj0321: 如果想中文教材,可以找中國的劉汝佳出的書03/04 15:15
我有他的書
但是我聽說leetcode沒什麼用?
32F:→ jj0321: 這位高手也可參考,不是ACM出身,但透過專案的執行 03/04 15:18
33F:→ jj0321: 開發出有效率的程式,曾在GOOGLE工作,現在在FB 03/04 15:19
34F:→ jj0321: 台灣的VGOD的文章也參考看看~ 03/04 15:19
※ 編輯: jack1218 (223.140.47.161), 03/04/2018 15:51:54
※ 編輯: jack1218 (223.140.47.161), 03/04/2018 15:52:20
35F:推 jj0321: 每種解題系統有它的程度,普遍ACM解題系統由淺到深03/04 16:16
36F:→ jj0321: leetcode對於面試練習蠻有用的,加強DS/ALOG基本觀念03/04 16:18
37F:→ jj0321: 如果有USACO或劉的書, 先選一個來K吧, 途中卡關了就可以03/04 16:20
38F:→ jj0321: 找其他書籍、網路解法做參考, 練到熟能生巧03/04 16:20
39F:→ jj0321: 再補充一個我之前的練法,先做uhunt等級分類的題目03/04 16:26
40F:→ jj0321: 從簡單(lev0-1)且每個單元都做過,慢慢升級(lev2~5)做 03/04 16:27
41F:→ jj0321: uhunt團隊也很厲害,其中一位曾是新加坡大學ACM國手, 03/04 16:28
42F:→ jj0321: 現在在GOOGLE 03/04 16:28
43F:→ jj0321: 總而言之,訂定一個目標去實踐它,成果自然會有 03/04 16:29
我考慮看看
我手邊有這本
https://i.imgur.com/iWEYHDI.jpg
之前嘗試挑戰過整本寫完
但是題目實在太多了 做一點點而已
請問您有什麼建議的讀法嗎
※ 編輯: jack1218 (223.140.47.161), 03/04/2018 16:58:48
44F:→ lNishan: 如果你認真想要參與程式競賽 我這邊整理的資源應該很夠用 03/04 17:18
45F:→ lNishan: github.com/lnishan/awesome-competitive-programming 03/04 17:19
46F:→ lNishan: 但比賽能力的水平會遠遠高於學校課程的範疇 03/04 17:20
感謝 我參考看看
不過我不是程式比賽的料:(
有看過強者 和我差太多了XD
我主要是想內化ds/algorithm到程式能力當中
※ 編輯: jack1218 (223.140.47.161), 03/04/2018 17:26:11
47F:→ pttworld: 我先當你在寫系統,你要做的是想好再動手 03/04 17:38
48F:→ pttworld: 如果程式夠大一定能產出SA文件,把文件轉化成SD文件 03/04 17:41
49F:→ pttworld: 過程中自然就思考了最佳的做法,工作不會逼你立馬有答案 03/04 17:43
50F:推 jk21234: 演算法的課堂上的只是基本的 其他的後續就是各種分領域會 03/04 22:36
51F:→ jk21234: 學到 03/04 22:36
52F:推 lovdkkkk: 先直觀的寫完 然後一直想哪裡可以更好去改進它 就醬 @@ 03/05 16:22
53F:→ lovdkkkk: Codility 很多題目可以免費練吧? 去年拿了幾十題滿分 :D 03/05 16:24
54F:→ lovdkkkk: 不對是前年初 03/05 16:38