Re: [請益] 軟體方面工作的一些問題...
※ 引述《walker2009 (誰人未嘗自以為)》之銘言:
: 當初因為喜歡寫程式加入了資工
: 到現在碩士班
: 因為想寫聰明的程式而選了演算法
: 但是每次有人問起
: Q: 你是學什麼?
: A: 演算法
: Q: 什麼的演算法?
: A: ...就各領域的演算法都看
: Q: 這樣不行喔, 沒有一個專精的方向, 以後出去怎麼找工作
: A: ....(擔心)
: Q: 那你之後要做什麼?
: A: 我比較想寫軟體
: Q: 怎麼樣的軟體?
: A: ....(擔心+1)
: 就是...雖然我從來沒怕過寫程式
: 也很喜歡寫程式, 也不擔心有什麼程式會寫不出來
: 但是我不知道我想寫怎樣的程式, 我該去寫怎樣的程式
有一本書的書名是 Algorithm + Data Structure = Program
這是一本用來教資料結構的書.
如果進一步再問資料結構跟Algorithm有甚麼關係? 就會發現
資料結構的書都在對著不同的資料表達形式, 講怎麼得到同樣
結果的處理動作. 資料結構課本的那些處理步驟(也就是演算
法)都是因資料的表達形式(結構)而挑出較有效率的次序方法.
也就是先有資料的表現形式後才有演算法.
演算法分析就變成是要改進不同的處理方式以找出更有效的方
法. 改進也可能改變資料的記載與表達形式, 甚至改變執行處
理的形式與數量, 譬如平行演算法與架構, 這時候就改變到執
行動作的硬體了.
程式就是給硬體去執行來解出問題找出所要的結果. 資料結構
的課本都用一個一個的小問題來提問與展示. 教科書會說電腦
裡所解的問題都可以拆分成這些基本的小問題來組成. 那麼小
問題都學會了, 大問題會不會解, 解特定問題的程式會不會寫?
多數是不會 !
因為不知道如何把單一的大問題分解拆分變成那堆學過的小問
題, 再將小問題的功能按某些步驟次序兜起來變成能解大問題
所要的功能.
多數人的辦法就是拿個具體的大問題練它一練, 最終結果是不
是變成程式讓執行的硬體跑出想要的結果, 這問題越接近業界
想要解的, 而結果越讓人覺得果真神勇有效, 那找工作時把這
個練習拿出來, 一切所謂學習的能力不就全現出來了?
如果您想說, 您最專精的就是能改寫出最有效的演算法.
那就要找出程式裡的那一塊用了那種您認為憋腳的演算法, 您
能挑出那一塊接上您新寫的那塊(資料結構+演算法)也行, 只
要驗證確實改出了驚人的效果, 有此種探囊取物, 能外科手術
式的替換改進, 那也絕不用擔心無人識才.
最簡單的辦法就是動手寫程式展示一件就很動人了.
: 我不知道之後畢業了該怎麼去找工作, 可以找怎麼樣的工作
: 不知道以後怎麼跟別人說我會什麼, 想做什麼
: (您好, 我很會寫程式, 我學的是演算法...就各領域的演算法都有看) <- 感覺非常怪
: 所以想請有經驗的大大指引一盞明燈...
: 資工...以後出去可以做什麼???
: 想寫軟體...現在就要決定寫什麼軟體, 開始加強了嗎??
: 只會寫程式....之後出去會不會找不到工作沒人要??
: 研究所學的是演算法....出去工作會不會讓人覺得沒實作經驗,沒專長,都是理論,沒人要?
: 真的好迷惘 Orz
通常學校的老師會說:
將大功能做細部分解, 再把各小功能組合合成, 只要試誤地練幾次就
知道了.
會看功能組成, 能判讀出其處理的演算法, 就知道效率的優劣, 就可
以找出更有效的演算法. 也就能如探囊取物地以外科手術的方式替換
出高效模組, 那就能完成高超的解題程式囉.
而某個功能模組不就是 (data structure + algorithm) 嗎?
最重要的不就是要有個更有效率的演算法產生出那個高效特優模組?
只要學通 演算法 , 畢業找工作怎會有問題?
※ 編輯: ggg12345 來自: 140.115.4.12 (04/26 19:40)
推
04/26 21:37, , 1F
04/26 21:37, 1F
→
04/26 21:38, , 2F
04/26 21:38, 2F
→
04/26 21:40, , 3F
04/26 21:40, 3F
→
04/26 21:40, , 4F
04/26 21:40, 4F
→
04/26 21:41, , 5F
04/26 21:41, 5F
→
04/27 09:33, , 6F
04/27 09:33, 6F
討論串 (同標題文章)
完整討論串 (本文為第 3 之 3 篇):
請益
5
127