推 hongsiangfu: 非本科,借問alloc/free太常使用造成的破碎該如何處 10/26 08:53
→ hongsiangfu: 理,平臺是32bit的mcu(非arm或dsp) 10/26 08:53
推 HSUFIT: 自己弄一塊memory pool來處理特定用途(大小)的allocatio 10/26 09:08
→ HSUFIT: n/free 10/26 09:08
→ alongalone: 認真來說,他的說法並沒有錯. 10/26 09:25
推 DFM: 現在硬體能力強資源也很足夠,大部分的應用還真的看不出來差 10/26 09:45
→ DFM: 異。只要人的感受不覺得慢就好。 10/26 09:45
推 ko27tye: 這篇才是真的,有四大背背考古題隨便都有工作 10/26 09:48
推 iiiii: wp sp解決一樓問題 10/26 09:50
→ whoknow0923: 看用途吧,殺雞還需要用牛刀嗎 10/26 09:53
推 k268185: 推一個 只要performance沒有明顯差異 能簡單就簡單 10/26 09:55
推 alumi7: 去看slab的code 10/26 10:03
→ Jyery: 寫太難後面接手的也很難維護 10/26 10:34
推 yamakazi: 這問題我有想過 list好處是能夠依照需求隨時增加減少 ar 10/26 10:35
→ yamakazi: ray在程式執行時比較難隨時增減 array好處則是儲存空間 10/26 10:35
→ yamakazi: 比list小 但壞處時是沒辦法做二元搜尋樹 10/26 10:35
推 yamakazi: 至於一樓的問題 我記得那通常是OS處理的問題 mcu似乎無 10/26 10:39
→ yamakazi: 解 10/26 10:39
→ yamakazi: array的大小要在編譯前決定 10/26 10:40
→ yamakazi: 一樓的問題 看看能不能自己改或做做一個RTOS 10/26 10:42
→ yamakazi: 光是搜尋樹的問題 array應該就慘敗 10/26 10:43
→ yamakazi: C++裡面用到map的話 map本身也是紅黑樹 10/26 10:44
→ yamakazi: 如果只是控制簡單mcu 的確用不到list 但如果你是寫大型 10/26 10:46
→ yamakazi: 資料網站後端就要會 10/26 10:46
→ yamakazi: 不過很多人只會寫C來操作mcu 寫個forwhileifelse 就覺得 10/26 10:47
→ yamakazi: 自己會寫C++ 會資結演算法 10/26 10:47
推 yamakazi: 問寫韌體的人怎麼樣用人名快速查找電話 他只會用二分搜 10/26 10:51
→ yamakazi: 尋法不會用紅黑樹map 10/26 10:51
推 yamakazi: 但有看過DS ALGO 的人就知道怎麼做 差別大概是在這裡 10/26 10:53
推 chandlerkc: 有些情況array 有效率得多 10/26 10:56
推 NCTU5566: 推yamakazi大 10/26 10:57
→ NCTU5566: 學DS和演算法開始會用時間複雜度和空間複雜度來分析問題 10/26 10:59
→ NCTU5566: ^就是開始會用 10/26 11:00
→ NCTU5566: 我以前在電機系學的C語言頂多教到linkedlist和array差異 10/26 11:00
→ NCTU5566: 當然也會提到array存取方便linkedlist空間使用等特性 10/26 11:01
→ NCTU5566: 但沒提到BigO的概念 BigO的概念是真的修資工DS Algo才會 10/26 11:02
→ NCTU5566: 然後很多時候為了實現某個演算法需要用哪個DS輔助 10/26 11:02
→ NCTU5566: 因此兩個很常綁在一起上,但也有獨立只教algo的課 10/26 11:03
→ NCTU5566: 獨立教algo的可能就會教比較概念的greedy divide&concur 10/26 11:04
→ NCTU5566: dynamic programming但要怎樣寫成扣很多時候要某些DS幫 10/26 11:04
推 badyy: 製造業或賣硬體還是可學起來然後照環境使用!有人想倒著用 10/26 11:06
→ badyy: 就入境隨俗倒著用幫他做大一點開山立派 XD 10/26 11:06
→ NCTU5566: 一點淺見覺得可以修DS和algo當作評估自己想不想走CS 10/26 11:07
→ NCTU5566: 有錯再請前輩們打臉修正QQ 10/26 11:08
→ NCTU5566: 然後寫韌體真的相對用比較少DS和Algo 10/26 11:09
→ NCTU5566: 我同學在IC廠寫韌體他真的不會tree graph這些東西 10/26 11:09
→ NCTU5566: 他最多就會用array linkedlist和stack queue 10/26 11:10
推 odanaga: 覺得不懂os問題比較大 10/26 11:14
→ fallinlove15: 一堆有現成解決記憶體管控的工具可以用 為什麼不學 10/26 11:18
→ fallinlove15: 一下呢 10/26 11:18
→ JasperChang: 紅黑樹麻煩 資源有限不如用 hash table 10/26 11:34
推 Litfal: linkedlist我還算熟,但老實說真的不常用 10/26 11:52
推 qwerasdf6102: 額 hash雖然查找快 但所佔的空間更大吧 10/26 12:10
推 YcL5566: 能用mem換來的都是小事 10/26 12:24
推 j0958322080: 不是寫IC的記憶體都不重要 10/26 12:30
推 IKnowWhy: 如果真的要循序處理array比較快好嗎... 10/26 12:32
→ flysonics: 寫FW的 記憶體常常就那麼丁點大 沒多少機會讓你用複雜 10/26 12:33
→ flysonics: 的東西 除非就像前面推文講的一樣你要刻類似RTOS之類的 10/26 12:35
推 j0958322080: 不一定耶,多維陣列速度搞不好比指標慢 10/26 12:37
→ matyih: 現在很多系統是engineer time比computer time貴 10/26 12:44
→ matyih: 簡單好維護的code比完全優化的更實際 10/26 12:45
推 lunashining: 推除非IC記憶體, 硬體廠一些老鳥覺得會C很厲害完全 10/26 12:47
→ lunashining: 不知道在秋三洨... 10/26 12:48
→ flysonics: 現在很少這種老人了吧 都嘛大碼農時代惹 10/26 12:51
推 Litfal: 寫dsp的表示qq,連alloc都沒得用 10/26 13:15
推 cjo4zo2k7al: 結論正確給推 10/26 13:38
推 RedDracula: 看用途 END 10/26 14:37
推 bizer: 說實在,沒有大量數據處理,哪有需要那些資料結構,整天cal 10/26 14:59
→ bizer: l函數庫的就更不用說了 10/26 14:59
推 soooooooo: 結論正確 10/26 15:30
推 Kuba4ma: 結論正確xd 10/26 15:58
推 hongsiangfu: 感謝各位大大無私分享 10/26 15:58
→ rodion: 張飛比岳飛 array如何O(1) delete? 10/26 16:25
→ rodion: 一堆瞎扯結論正確的 就不要開玩笑被別人當真的 會害到人 10/26 16:27
推 gbs0856: 看推文,就知道台灣業界為何不重視軟工,出不了殺手級應 10/26 18:14
→ gbs0856: 用服務,只配做代工 10/26 18:14
→ aasssdddd: 寫好了還比別人用其他方法解的慢… 10/26 20:35
推 hanshsu: driver 裡面很多 listhead 10/26 20:50
推 snoopy790428: 面試就是頭過身就過 10/27 00:01
推 vm3tl6vup: 一樓,去搜尋reap allocator 10/27 02:44
→ veru: 會用array 就表示沒有要delete了 為什麼要care 如何O(1) 10/27 13:11
→ veru: Delete? 當function的local variable 就夠了 10/27 13:13
→ veru: 舉個例 做counting sorting 你會用array 當bucket還是list? 10/27 13:14
推 jason710068: 假設是寫 c++的話,當然用stl啊,誰在那邊跟你造輪子 11/03 13:26
推 p1234891: 不好意思我有看到前面有說如果做記憶體 IC 才需要懂資 11/06 23:59
→ p1234891: 料結構 那我想請教一下各位前輩 如果未來想走通訊 Baseb 11/06 23:59
→ p1234891: and IC 或是 DSP IC 設計的話 有需要修資工必修:資料 11/06 23:59
→ p1234891: 結構和演算法嗎?感謝回覆 ~ 11/06 23:59