第 1 章
為什麼一般人也要懂資料結構
資料結構不是只存在程式語言課本裡。只要你有整理、查找、安排、分類、協作的需求,你其實就在接觸資料結構。
預計閱讀時間:約 5 分鐘
本章開場
想像你正在找一份去年交過的報告。你知道它存在,但你不確定是在桌面、雲端硬碟、電子郵件附件,還是某個資料夾裡的資料夾。這時候真正讓人頭痛的,往往不是資料太少,而是資料太亂。
資料結構要處理的核心問題,正是「資訊要怎麼放,之後才會好找、好用、好維護」。這件事不只工程師會遇到,任何需要整理資訊的人都會遇到。
本章要解決的問題
很多人以為資料結構是寫程式時才需要的知識,但真正的問題是:當資訊越來越多、越來越雜時,我們要用什麼方式讓它保持可理解、可查找、可交接?
核心概念
如果把資料想成生活裡的物品,那資料結構就像你的收納方式。有些東西適合排成一列,有些東西適合分門別類,有些東西必須按照先來後到處理,有些則要先處理最重要的項目。
資料結構不是把資料放進電腦裡而已,而是決定資料之間如何排列、如何連結、如何被找到。
當我們知道不同整理方式會帶來不同結果,就能理解為什麼系統設計、工作流程和個人整理能力都會受到資料結構影響。
這在生活中像什麼
家裡的鞋櫃若照使用頻率排列,你出門時就能更快找到常穿的鞋。冰箱若照食材類型與保存期限分區,就比較不會重複購買或放到過期。手機聯絡人若沒有統一命名規則,你之後要找人時就會混亂。
這些場景看起來瑣碎,但背後其實都在問同一件事:資料應該怎麼排,才能在需要的時候快速取用?
具體例子
- 電子郵件信箱沒有分類:所有信件全堆在收件匣,要找三週前的某封報價信,只能一封一封往下捲。如果當初依寄件人或主題建立子資料夾,找信只需幾秒。
- 書包裡沒有固定位置:鑰匙、悠遊卡、藥品全部混放,每次出門都要翻遍整包。一旦每樣東西有固定的「格子」,就能不假思索地拿到。
- 手機相簿沒有分類:工作截圖、旅遊照片與收據圖混在一起,找特定照片得滑很久。建立相簿分類後,查找時間大幅縮短。
- 購物清單只是一堆文字:需要買的物品沒有按類別整理,到了超市一路來回穿梭。若改成「蔬果、冷凍、清潔用品、零食」分區,一趟就能買完。
- 通訊錄命名沒有規則:同一位客戶分別存成「陳大明」、「大明」、「陳 客戶」,要找時搜尋結果散落三處,根本不確定哪一筆才是最新的。
這在工作上有什麼用
行政工作會遇到表單歸檔、會議紀錄整理、請款流程排序;教學工作會遇到教材分類、學生資料整理、課程進度安排;專案工作會遇到需求列表、優先順序、任務流程與跨部門資訊串接。
如果這些資訊只是「存在」,卻沒有好的結構,那麼每一次查詢、交接、統整都會浪費時間。資料結構並不神祕,它往往就是效率差異的來源。
為什麼重要
- 它影響你找資料的速度。
- 它影響流程是否順暢。
- 它影響團隊是否容易交接與理解同一份資訊。
- 它影響系統設計能否擴充、維護與避免混亂。
學資料結構,不只是為了寫出更快的程式,也是為了培養一種整理資訊與拆解問題的能力。
一句話總結
當你開始在意資料要怎麼排、怎麼找、怎麼用,你就已經走進資料結構的世界。
💭 捲輊三問
- 你現在管理的某份資料,有用什麼方式「結構化」嗎?還是全部堆在一起?
- 如果你的信箱收件匣要重新整理一次,你會用什麼邏輯來分類?
- 你覺得「整理方式」和「找東西的速度」之間,有什麼關係?