[閒聊] 資料結構不重要 ?
最近常看到越來越多人說 "資料結構不重要"
Queue、List、Heap、Hash Table .NET JAVA早就做好了,你根本不用懂資料結構。
排序、搜尋 Library 早就幫你做好了,你根本不用懂演算法。
至於其他更複雜的資料結構與演算法,更不用學,
太難,你也用不到。 太冷門,需要時再去找 Sample codes 就好。
演算法複雜度?
根本不用考慮阿,現在硬體那麼快,演算法差個 0.1秒 ,會扣錢嗎?
結論 => 不懂資料結構也可寫很好的程式。
我想很多人應該都是這種觀念的。
不知道大家對於 "資料結構與演算法" 不重要的想法是如何?
分享一些我看到的一些狀況好了:
-------------------------------------
我的工作環境,常常需要在有幾億筆資料的Table內查資訊。
理論上這種環境根本就不要懂演算法與資料結構,
反正搜尋演算法、排序一定叫SQL Server做就好。
但有趣的事情就在這,當資料量大成這樣時,很多人就開始抱怨了,
"為何搜尋速度那麼慢? "
"這一定不是我的錯,是微軟的錯"
"這是硬碟的存取的極限,我也沒辦法"
最後效能差到,沒辦法使用資料庫了,只好開始砍資料庫內的資料了。
把資料備份,然後砍掉九成的資料,讓資料變少,存取速度增快。
(然後固定每段時間做這種事情)
然後有需要舊資料再去請助理把資料還原,撈部分資料出來匯入。
但是,如果有學過演算法或資料結構的,
頭腦應該都不會這樣想吧@@
資料長度 N 太大, 就刪長度 ?
明明就可以把 Table Schema 搞成樹狀結構,定期(或定量)增加節點Table。
明明就可以把 Table 拆成多個, 用程式做索引,加快存取。
明明資料進來時,就可以做一些計算,統計,快取等方式,讓未來不用查大量資料
(其實還有很多種作法,而且資料結構課本都有教)
--------------------------
但是我不知道為什麼,
感覺越來越多人對於存取效率一點都不重視,
系統架構、程式演算法設計一點都不重視,
總是用連大學生都不如的方式去設計與管理系統,
寫程式與設計系統總是用非常沒效率的方式在做。
而剛好我看到的這些人,都是非本科系出來的。
資料結構與演算法真的不重要嗎?
我始終是存在反對的意見。
即使你不用自己去設計一些有效率或特殊用途的資料結構,
即使你不用自己去設計各種常用的演算法,
但是,有學過這些基礎理論,
會讓你未來在設計系統時,總是知道怎麼做比較有效率,
光是設計資料庫架構就需要一堆傳統資料結構概念了,
寫程式、Protocol 要有效率,也要一堆以前學資料結構的觀念,
"不懂資料結構,根本就沒差"?
差多了。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 221.169.119.107
→
06/12 21:46, , 1F
06/12 21:46, 1F
→
06/12 21:47, , 2F
06/12 21:47, 2F
推
06/12 21:47, , 3F
06/12 21:47, 3F
推
06/12 21:48, , 4F
06/12 21:48, 4F
→
06/12 21:49, , 5F
06/12 21:49, 5F
→
06/12 21:50, , 6F
06/12 21:50, 6F
→
06/12 21:50, , 7F
06/12 21:50, 7F
推
06/12 21:50, , 8F
06/12 21:50, 8F
推
06/12 21:51, , 9F
06/12 21:51, 9F
→
06/12 21:51, , 10F
06/12 21:51, 10F
→
06/12 21:51, , 11F
06/12 21:51, 11F
→
06/12 21:52, , 12F
06/12 21:52, 12F
→
06/12 21:52, , 13F
06/12 21:52, 13F
→
06/12 21:53, , 14F
06/12 21:53, 14F
→
06/12 21:54, , 15F
06/12 21:54, 15F
→
06/12 22:03, , 16F
06/12 22:03, 16F
→
06/12 22:04, , 17F
06/12 22:04, 17F
推
06/12 22:24, , 18F
06/12 22:24, 18F
→
06/12 22:25, , 19F
06/12 22:25, 19F
→
06/12 22:33, , 20F
06/12 22:33, 20F
→
06/12 22:34, , 21F
06/12 22:34, 21F
→
06/13 00:32, , 22F
06/13 00:32, 22F
推
06/13 00:34, , 23F
06/13 00:34, 23F
→
06/13 00:35, , 24F
06/13 00:35, 24F
→
06/13 03:40, , 25F
06/13 03:40, 25F
→
06/13 11:29, , 26F
06/13 11:29, 26F
推
06/13 11:53, , 27F
06/13 11:53, 27F
→
06/13 13:12, , 28F
06/13 13:12, 28F
→
06/13 18:42, , 29F
06/13 18:42, 29F
→
06/13 20:04, , 30F
06/13 20:04, 30F
→
06/13 20:05, , 31F
06/13 20:05, 31F
→
06/13 20:06, , 32F
06/13 20:06, 32F
→
06/13 20:08, , 33F
06/13 20:08, 33F
→
06/13 20:10, , 34F
06/13 20:10, 34F
→
06/13 21:03, , 35F
06/13 21:03, 35F
→
06/13 21:07, , 36F
06/13 21:07, 36F
推
06/14 08:09, , 37F
06/14 08:09, 37F
推
06/14 10:53, , 38F
06/14 10:53, 38F
討論串 (同標題文章)
Soft_Job 近期熱門文章
PTT職涯區 即時熱門文章
76
204