[請益] 如何將演算法/資料結構融入程式能力

作者: jack1218 (赤城我老婆)   2018-03-03 18:43:44
版上的大大你們好
我現在是大二資工學生
已經修過了資料結構和演算法
學得還行
算是最高分通過
但是在自己寫程式的時候
演算法依然直觀使用暴力法
資料結構陣列或容器無腦做
有時候覺得這裡應該有更好的演算法或是資料結構
但是要多次思考之後才能使用
沒辦法快速的用出來
請問如何將演算法和資料結構融入寫程式的能力呢
作者: gn01838335 (寂靜的生存者)   2018-03-03 18:48:00
應該去想什麼問題要用什麼資料結構和演算法吧
作者: jcaosola (紙袋)   2018-03-03 19:36:00
習慣比個線上演算法競賽就慢慢對什麼問題該用什麼算法有感覺了
作者: lNishan (紫小霓)   2018-03-03 19:52:00
推薦 Codeforces 題目比較有品質 而且都會有賽後解說
作者: yamakazi (大安吳彥祖)   2018-03-03 19:57:00
課金刷leetcode 不然就從codilty的免費教學做起
作者: lNishan (紫小霓)   2018-03-03 20:15:00
非面試不推 leetcode ,上面題目 spec 都沒寫清楚比如說如果數字範圍不超過 10^6 排序就能考慮 countingsort ,但是 LeetCode 上都不會提供這些資訊
作者: pttworld (批踢踢世界)   2018-03-03 20:18:00
現在流行Codility,這個代考收費的。
作者: lNishan (紫小霓)   2018-03-03 20:19:00
真的在面試的時候也會建議 spec 問清楚再下去解
作者: oopFoo (3d)   2018-03-03 21:09:00
https://summerofcode.withgoogle.com/practice, practice. 還有mentor. 找個你喜歡的project還可賺錢。
作者: obamina48   2018-03-03 21:20:00
推 GSoC ! 裡面蠻多很棒的 project,可惜學生時還不知道這種活動 QQ
作者: lNishan (紫小霓)   2018-03-03 21:48:00
GSoC 是暑期 project (美國的暑期 所以日期會衝到)3/13 開始是 Project Proposal 要自己上去看有哪些開源組織底下的 project 是你喜歡的,然後提出自己的計劃計畫如果被開源組織審核過了 5 月中才真的開始寫 codementor 由開源組織提供,薪資 Google 贊助五月中會切到一點學期末的時間,所以那時候會有點忙這個 program 跟演算法 資結比較無關,但是建議考慮看看可以
作者: ThxThx (洗洗睡)   2018-03-03 22:55:00
GSoC搶蠻凶的聽說都是已經對那個專案有貢獻(發過PR那種)才會上當然還是可以去試試看啦...
作者: jj0321 (JJ與你倒數唷)   2018-03-04 15:12:00
ACM程式解題阿 玩這個才知道什麼叫真正DS/ALOG往這方面找資源來練, 練到畢業肯定有成長最有名的訓練課程是USACO 可以註冊學看看如果想中文教材,可以找中國的劉汝佳出的書http://zh.lucida.me/blog/on-learning-algorithms/這位高手也可參考,不是ACM出身,但透過專案的執行開發出有效率的程式,曾在GOOGLE工作,現在在FB台灣的VGOD的文章也參考看看~每種解題系統有它的程度,普遍ACM解題系統由淺到深leetcode對於面試練習蠻有用的,加強DS/ALOG基本觀念如果有USACO或劉的書, 先選一個來K吧, 途中卡關了就可以找其他書籍、網路解法做參考, 練到熟能生巧再補充一個我之前的練法,先做uhunt等級分類的題目從簡單(lev0-1)且每個單元都做過,慢慢升級(lev2~5)做uhunt團隊也很厲害,其中一位曾是新加坡大學ACM國手,現在在GOOGLE總而言之,訂定一個目標去實踐它,成果自然會有
作者: lNishan (紫小霓)   2018-03-04 17:18:00
如果你認真想要參與程式競賽 我這邊整理的資源應該很夠用github.com/lnishan/awesome-competitive-programming但比賽能力的水平會遠遠高於學校課程的範疇
作者: pttworld (批踢踢世界)   2018-03-04 17:38:00
我先當你在寫系統,你要做的是想好再動手如果程式夠大一定能產出SA文件,把文件轉化成SD文件過程中自然就思考了最佳的做法,工作不會逼你立馬有答案
作者: jk21234 (BL2400PT真不錯)   2018-03-04 22:36:00
演算法的課堂上的只是基本的 其他的後續就是各種分領域會學到
作者: lovdkkkk (dk)   2018-03-05 16:22:00
先直觀的寫完 然後一直想哪裡可以更好去改進它 就醬 @@Codility 很多題目可以免費練吧? 去年拿了幾十題滿分 :D不對是前年初

Links booklink

Contact Us: admin [ a t ] ucptt.com