作者: carlhung 時間: 2016-4-15 13:04 標題: 有無必要學算法?
如題
因為我數學好慢
作者: 梁炳 時間: 2016-4-15 13:47
一般實際用來講,學識各種Abstract data structure (Stack, Heap, Linked list, Queue, Hash table etc..) , 識計complexity(甚至有個概念就夠)
Sorting Algorithm最好識,不過得個知字都夠,因為所有high level language都内置sorting
而讀書一定會學既BFS, DFS, Dijkstra....等等各式各樣algo真係極少用
當然上面都係generally speaking, 要唔要識邊樣,睇你想做乜
做學生 -> freshgrad -> 揾工的話
建議你唔好skip topic
作者: toylet 時間: 2016-4-15 15:10
提示: 作者被禁止或刪除 內容自動屏蔽
作者: java2 時間: 2016-4-15 16:41
先學下AES 算法
作者: carlhung 時間: 2016-4-15 18:48
我但係用唔用得著先?
剛剛問左個5x幾歲的programmer,佢話唔駛,要先search.
作者: yjfoeg 時間: 2016-4-15 19:21
你都識講佢5x幾歲嘅:redface:
作者: carlhung 時間: 2016-4-15 19:40
佢好堅架,不過好古怪無朋人,法國人
作者: yjfoeg 時間: 2016-4-15 20:20
唔係水平問題
佢已經5張野,基本上佢唔會再有咩大改變
但如果你係後生而想喺呢行發圍,最好就有啲其他人冇嘅能力
作者: carlhung 時間: 2016-4-15 20:37
佢話要用先search,佢以前寫人造衛星,我諗佢都要玩算式,但佢都係話要用先學
作者: carlhung 時間: 2016-4-15 20:40
即係正常人都無依個能力啦
作者: yjfoeg 時間: 2016-4-15 20:54
咁我又唔係話叫你乜都背晒
只要人地up個演算法出黎你大概明白要做乜就足夠架喇
如果有客/腦細up個演算法出黎,
你又講到兩嘴,印象都好啲啦
作者: chi251155 時間: 2016-4-15 23:05
Learn algorithm design thinking. Algorithms are to solve problems, thinking in algorithms means problems-solving-oriented thinking. By thinking in algorithms, you will always try to balance between time and space complexities, development time, and programming complexity. Algorithms are the basic unit of a complex system, it helps you to break a large problem down to subproblems for which there are well-researched algorithms.
作者: gakko 時間: 2016-4-16 01:18
想去大公司做
一定要識各種算法
因為呢個係考試幾乎必出
作者: hwkit 時間: 2016-4-16 01:29
你要學不是一種算法, 而是要了解何為算法.
即不是學如何處理某個程序,
而是學一種算法理念...這樣你才明白其他人的算法精要所在
作者: 2014NUMBER 時間: 2016-4-16 03:25
info : 演算法筆記 - Path
http://www.csie.ntnu.edu.tw/~u91029/Path.html
usage example : A*搜尋演算法
https://zh.wikipedia.org/wiki/A*%E6%90%9C%E5%AF%BB%E7%AE%97%E6%B3%95
作者: educationer 時間: 2016-4-16 11:50
唔係直接寫好晒既咩... 就咁拎黎用就得
作者: twaiho2003 時間: 2016-4-16 12:03
知下好啦, 唔洗深入研究, 果D野係數學家做,
你要用既時候就自然識上網抄CODE
作者: carlhung 時間: 2016-4-16 13:01
回覆 17# twaiho2003
好啱聽
作者: LoneGumMan 時間: 2016-4-17 01:18
你見得成份工咪係囉

algorithm / complexity 係見工第一樣會問O既問題, 尤其新仔. 好老實講, 唔識O既人好打極有限, 因為冇根底可言.
數學慢唔係問題, 問題係你有冇能力處理個 abstraction.
作者: gakko 時間: 2016-4-17 12:24
完全正確
而且呢個仲係最基本既問題 可能係第一次面試先會問呢d基礎
或者直接出條題目比你 要你用呢d算法黎解答
作者: 梁炳 時間: 2016-4-17 13:54
5x歲唔係話老,不過好多時都唔記得左初學時既野
今時今日好多知識都係要用先search既...但有一樣野叫基礎知識,即係點都要識
大學/大專教既野,就係基礎知識,最好學哂
學左之後,你可能不知不覺就用左出來
寫program唔需要讀CS,但要寫好既program就需要CS
作者: carlhung 時間: 2016-4-17 19:47
佢無讀CS,讀石頭(鑽石個D),都寫衛星啦
作者: chi251155 時間: 2016-4-17 20:12
本帖最後由 chi251155 於 2016-4-17 20:13 編輯
好簡單,同一個人工,同一樣經驗年資,一個識多啲野,老細會點揀?
學多樣野唔會死,尤其係咁基本(Fundamental)既野。
你話學點solve np problem就未必要你一定識哂,但基本既分析同實現(implementation)都唔識就唔得。
作者: ip4368 時間: 2016-4-17 20:35
一般實際用來講,學識各種Abstract data structure (Stack, Heap, Linked list, Queue, Hash table etc..) ...
梁炳 發表於 2016-4-15 13:47
都係嗰句,睇下想target咩公司,而去決定洗唔洗學啦。如果target Google,唔識一定死,唔洗旨意入到。
作者: ip4368 時間: 2016-4-17 20:40
至少都要知道algorithms嘅time/memory complexity,先可以決定使用咩algorithms,例如quick sort/heap sort/timsort咩時候用咩sorting先係重要,實際點code到可以google/library,但係如果次次都上網search一大輪先決定用咩algorithm,速度係太慢。
作者: Mathk 時間: 2016-4-17 20:41
寫人造衛星嘅同你講「要先搵」,即係如果你只係一般人,請先花72個 working hours 煲熟先。
作者: LoneGumMan 時間: 2016-4-18 00:37
冇話唔得O既
大學讀 physics 好多人都會寫 code 做simulation, 一樣冇正式訓練, 一樣照出論文.
以前響獅子銀行做 project 拍住個加拿大鬼佬 consultant 一齊做, 佢O既 master degree 係開礦 (mining, 講真), 由 響 BP 做油田勘察展轉變左做 risk modelling 轉寫 code. 佢而家係另一間澳洲大行係 IT senior delivery manager.
而家響 另一家 i-bank 做development, 好多同事係唔同類型O既 engineering 出身, 冇正統 CS 底. 做 quant, 寫 model, 搵幾百萬一年 果D 都係讀數學呀, physics 咁出黎.
但係你問得出佢地都答得出.
作者: LoneGumMan 時間: 2016-4-18 00:39
三行扎鐵又係起樓, 貝聿銘都係起樓, 睇下做想做乜野囉.
唔好話 google, 只要要求高少少O既都已經入唔到. 如果唔想打死一世牛工搵萬零蚊, 唯有就係裝備自己.
作者: carlhung 時間: 2016-4-18 21:11
咁有咩入門書介紹?
要有好basic, d符號已經唔記得晒,英文書please
thanks.
作者: LoneGumMan 時間: 2016-4-18 21:21
回覆 29# carlhung
http://ocw.mit.edu/courses/#mathematics
6.046
6.042 都好有用
作者: wongfung 時間: 2016-4-19 02:26
我睇依個, 有兩parts, 重點係思考方法
https://www.coursera.org/course/algo
作者: chi251155 時間: 2016-4-20 00:58
回覆 29# carlhung
steven s. skiena既the algorithm design manual唔錯

