上一篇,我們談到實驗課排程時,先把注意力放在一件很重要的事情上: 先找到一個符合所有條件的可行解 例如實驗課表必須滿足: 同一間實驗室不能重複借用 實驗室...
上一篇,我們看了外送平台怎麼決定誰來送一張訂單。 乍看之下,好像只是 找距離最近的外送員,但真正的問題裡,可能同時存在: 路線距離 等待時間 外送員工作量 手...
上一篇,我們把「人與工作之間的分配」畫成了一張 Graph。例如: 問題變成: 哪一個人應該被分配到哪一件工作? 這就是匹配想處理的問題。但如果真的打開一個...
上一篇,我們談了 Bin Packing。假設每台貨車的容量有限: capacity = 10 而所有箱子都必須送走,我們要思考的是: 怎麼把這些箱子分配到...
前幾篇,我們一路從 dependency、propagation 談到 Graph 本身也可能隨著系統執行而改變。到這裡,我們已經不只是在描述資料結構,也開始面...
上一篇,我們談到 dependency 不只可以描述: 誰必須先完成? 也可以幫助我們回答: 當某個東西改變時,哪些地方可能需要跟著重新計算? 例如:...
上一篇,我們把 npm 專案看成了一張 Dependency Graph。當一個 package 依賴另一個 package 時,我們可以把關係畫成 A → B...
前幾篇,我們已經從「事情的先後順序」一路談到有向圖、Cycle、DAG 與拓樸排序。例如: A → B → C 代表: B 依賴 A,C 又依賴 B 這種...
上一篇我們開始把「事情必須按照先後順序完成」畫成有向圖。例如: 買食材 → 備料 → 烹煮 → 上桌 箭頭代表 dependency: A → B 可以理解...
前幾天我們一直用 Graph 描述「東西之間怎麼連在一起」。例如捷運路網: 我們在意的是: 從 A 能不能走到 F?哪條路比較短?哪條路花的時間比較少? 但...
前兩篇,我們分別看過了兩種很常見的 Graph 搜尋方式: Graph + Stack → DFS Graph + Queue → BFS DFS 選擇先沿著...
上一篇談到 DFS 時,我們做了一個很明確的選擇: 先沿著一條路一路走到底 這是一種搜尋策略。但如果今天問題換方向了呢? 假設我們面前不是迷宮,而是一張捷運...
昨天我們終於把 Graph 從紙上的線條,變成程式真的能保存的資料。例如一張簡化的路網: 我們可以用 Adjacency List 表示: const grap...
上一篇我們用捷運路網理解 Graph。例如有幾個站點: 如果把它看成 Graph: 每個車站是一個 node 站與站之間的連接是一條 edge 畫出來很直...
上一篇我們從資料夾開始認識 Tree。像這樣: Documents ├─ Work │ ├─ report.pdf │ └─ meeting.md │ └─...
前幾篇我們一直在問一個很類似的問題: 資料要怎麼拿? Queue 說:最早進來的先拿 Stack 說:最後進來的先拿 Priority Queue 說:最...
前面幾篇,我們其實一直在討論同一類操作需求: 下一個要拿哪一筆資料? Queue 的答案是最早進來的那一筆。 Priority Queue 的答案是現在最...
上一篇談 Priority Queue 時,我們看到了一件很重要的事: 資料不一定按照進來的時間被處理,「誰先被拿出來」本身就是問題的一部分。 Queue...
上一篇我們從超商結帳、客服電話與列印工作認識了 Queue。簡單複習一下 Queue,例如四個人依序進入隊伍: A → B → C → D 那麼處理順序自然就...
你走進超商,前面已經有三個人在排隊。你站到隊伍最後面,等待前面的人依序結帳。我甚至不用特別講,你也能腦補這個機制: 第一個來的人先結帳 第二個來的人接著結帳...
如果要用 JavaScript 儲存一群資料,我們其實很容易想到一個最直覺的答案: const users = ["Alice", &quo...
現在如果想寫一個 Queue、Binary Search,甚至 Dijkstra,最簡單的方法可能已經不是打開課本,而是直接問 AI。幾秒鐘後,我們就能得到一段...
今天要來進到新的單元~還記得我們在第一天有簡單提到 Stack 嗎?接下來要更加了解他 堆疊(Stack)是什麼? 堆疊是一種只能在同一端(稱為頂端,Top)進...
消除你程式碼的臭味 Day 7- 資料結構至上:好程式碼的關鍵思考 搞錯了資料結構,寫的就不是程式碼,是日後要爆炸的地雷。 Bad programmers...
前言 前天和昨天,我們進行promptTemplate和langServe快速部屬api的操作範例,但今天介紹及說明另外一個核心功能,結構化輸出structur...
終於到最後一天了,在這過程中有著無數次催隊友快點發文,也有幾次差點忘記需要寫文,甚至最近因為社團的事情和比賽沒有什麼時間可以寫文章,所以內容越來越簡單,不過終究...
前言 今天是中秋節,所以就分享一些學習資源以供大家自學、參考,以下資源皆為免費內容,請安心服用 講義 以下是我過去所使用過的學習資源,有些因為難度太高半途而廢,...
昨天介紹了 HashMap 將 key 定位到 bucket 的過程。而本文主要解說的是,在一個 bucket 中,要如何找到 key 所對應的節點,進而討論為...
概念 Linked List 是一種線性資料結構,可以從中間直接插入元素,相對陣列來說會比較省時,不過在競賽程式其實我其實一次也沒有用過,原因我會在底下做說明。...
嗨!大家好!了解完如何載入和觀察資料後,接著將開始一系列對資料內容的操作,今天的主題為「新增資料」,內容分別以Pandas兩種常見的數據結構說明,包含:...