→ ThxThx: 只能同意轉換跑道不要太早被資料結構限制 03/02 19:12
→ ThxThx: 完全照原po這樣只會變成追技術的碼農... 03/02 19:12
→ pttworld: 升職最重要的是人格特質,只會跟電腦溝通不要怪錢少 03/02 19:27
年輕人都是這樣。不曉得選擇Library,人際溝通更重要。
※ 編輯: oopFoo (36.227.20.247), 03/02/2018 20:18:48
推 cplusplus426: 所以會不會資結在程式開發不重要嗎 03/02 20:21
array(stack,queue). hastable. 這兩個東東,99%夠用。api, framework才是重點。
※ 編輯: oopFoo (36.227.20.247), 03/02/2018 20:43:23
→ dreamnook: 然後各種東西都學了 領不到3萬 03/02 20:58
→ lNishan: C++ 的 set, map 是 red-black tree 03/02 21:01
→ lNishan: array != stack != queue 拜託別把這些混在一起 03/02 21:03
→ lNishan: 還有 linked list 也很常用吧 03/02 21:06
→ lNishan: 學校課程會要求實作主要是幫助學習 不是重不重要的問題 03/02 21:17
→ lNishan: 不懂 DS 寫出來的程式可能會是慢一個等級的很可怕 03/02 21:20
推 cplusplus426: 所以等於是要學到無招勝有招的感覺,自然寫程式就 03/02 21:24
→ cplusplus426: 融入ds的技巧? 03/02 21:24
應該說。現實就是你的程式就是處理各個api傳回的data structure. frontend js 就是處理
dom tree.
→ pttworld: 語言的函式庫都把資結實作好了,效能是演算法的問題 03/02 22:16
→ lNishan: No. 如果不知道各個操作的時間複雜度 效能還是會寫爛 03/02 22:57
→ lNishan: array, dynamic table, balanced bst, hashtable 03/02 22:59
→ lNishan: 這些全部都能 find, insert, delete 但是複雜度各不同 03/02 23:00
→ lNishan: 運用了錯誤的資料結構效率可以影響到 2 倍甚至遠遠更高 03/02 23:01
→ lNishan: 就算是同個 DS 不好的實作影響程度也可以到兩倍以上 03/02 23:03
→ lNishan: 不要以為 library 或是 STL 內建的實作就有多好 03/02 23:03
→ lNishan: libstdc++ 以前 (現在不確定還是不是) 03/02 23:05
→ lNishan: unordered_set (hashtable) 可以輸給 set (RB Tree) 03/02 23:05
goo.gl/F3B49w
是。MS 可以把 hashtable memory allocation 用 power of 2 而不是prime,
也是奇葩。但那是implementation 問題。現實上hashtable絕對是99%好用。
→ lNishan: 認為效能只跟演算法有關是很錯誤的觀念 03/02 23:10
→ lNishan: 演算法、資料結構這兩門科目可以說是相輔相成 03/02 23:10
→ lNishan: 還有就算是用了對的 DS ,不懂 DS 的用法用錯也會 GG 03/02 23:14
→ lNishan: 就算到了後面 SQL Query Tuning 也是需要仰賴 DS 的學問 03/02 23:32
→ lNishan: 因為 DB on-disk storage 的部分背後通常是一棵 B Tree 03/02 23:36
→ pttworld: 演算法的影響遠比資結大。演算法影響是指數級還在2倍 03/02 23:38
→ pttworld: 另外選錯資結是不明白問題本身,不是資結本身 03/02 23:40
→ lNishan: 演算法的影響是指數級 ==> 會到指數級的也是不明白問題吧 03/02 23:43
→ lNishan: 沒有學好 DS 也會錯用。 03/02 23:47
是你說的都沒錯。但不會sql,有sql tuning的問題?
我強調的是priority。原po,有太多的東西要學。先把重要的學會。ds只要會用,
不須實做。但algorithm就真的常用。
→ elements: 演算法和資料結構幾乎是同一科了 沒有那些資料結構討論 03/03 01:18
→ elements: 演算法的意義是什麼?沒有演算法怎麼操作資料結構? 03/03 01:18
→ steve1012: 這兩個根本沒啥好分的 沒啥好戰 03/03 02:43
推 lance8537: 看起來,某個常回負面推文的觀念也不怎麼樣耶 03/03 05:46
推 sorryla: 樓上,對於無法分辨台灣人才然後說台灣沒有軟體人才的人 03/03 06:36
→ sorryla: 不用指望太高 03/03 06:36
※ 編輯: oopFoo (118.167.153.229), 03/03/2018 09:09:02
推 sunsamy: 這麼迷信時間複雜度?可能沒寫過平行運算或ASIC,就算同一 03/03 08:46
→ sunsamy: 電腦,不同指令的O(1)時間也不同 03/03 08:48
→ pttworld: 目前經歷來說,混討論區社群都不怎麼樣 03/03 10:44
→ pttworld: 你什麼看副總在批踢踢發文,會混的就是程度一般 03/03 10:45
→ pttworld: 想藉由別人的意見來加強自己,這種都還不能獨立 03/03 10:46
→ lNishan: 我同意 priority 我是想說明 DS 的重要性 03/03 11:38
→ lNishan: 沒有人在迷信時間複雜度 只是第一個參考的 benchmark 03/03 11:39
→ lNishan: 我剛好寫過 如果你還加 compiler 優化、記憶體用量 03/03 11:41
→ lNishan: 我也可以繼續討論下去 只是那樣就完全偏離主題了吧 03/03 11:41
→ lNishan: 比如說 caching 還有一群 cache-oblivious 演算法 資結 03/03 11:48
→ lNishan: 這些都是初學者 一般寫程式的都不太需要知道的 03/03 11:48
→ elements: 原po有問priority嗎?priority只有自己知道。反正要混 03/03 12:41
→ elements: 下去,這兩個都得會,還得會的更多,每次有人問這個就 03/03 12:41
→ elements: 被說跟說喔不對你要先學另一個。迷信複雜度就是不懂複 03/03 12:41
→ elements: 雜度才容易迷信。把一套指標哪裡套在所有地方本來就是 03/03 12:41
→ elements: 不對的,但照這樣說所有指標都是迷信,就連比薪水都會 03/03 12:41
→ elements: 有人說薪水不是唯一的,所以乾脆都不學回去睡覺好了。 03/03 12:41
推 lovdkkkk: 不用兩個, C 只要一個 pointer 就 100% 夠用 :p 03/05 16:16