給定一個Array,並且給定一個L、R、Value,我們要在陣列的Array[L]跟Array[R]之間加上value。 定義:前綴和序列:Si=S(i-1)+...
資料結構是電腦科學中一個關鍵概念,它是關於如何以特定的方式組織和存儲數據,以便能夠有效地訪問和修改。資料結構不僅僅是關於數據的存儲,而是提供了一種在數據上執行操...
本文同步更新於個人網站中,有更好的排版和程式碼區塊 highlighting 支援。 首先我們來回憶一下佇列,普通的佇列是一種先進先出(FIFO)的資料結構...
本文同步更新於個人網站中,有更好的排版和程式碼區塊 highlighting 支援。 不要被標題所迷惑,這個還是以 Tree 為基礎的資料結構。堆積(Hea...
本文同步更新於個人網站中,有更好的排版和程式碼區塊 highlighting 支援。 透過實作走訪發現到,二元樹最大的優勢是對稱,從而實作各種易讀性非常強的...
11. Container With Most Water 解題程式碼 var maxArea = function (height) { let left...
本文同步更新於個人網站中,有更好的排版和程式碼區塊 highlighting 支援。 昨天我們已經介紹了深度優先走訪的三種方式,今天我們來介紹廣度優先走訪,...
169. Majority Element 解題程式碼 var majorityElement = function (nums) { let majori...
本文同步更新於個人網站中,有更好的排版和程式碼區塊 highlighting 支援。 樹的走訪(traversal)或者說遍歷是一個很基礎的問題,有很多實際...
238. Product of Array Except Self 解題程式碼 var productExceptSelf = function (nums)...
本文同步更新於個人網站中,有更好的排版和程式碼區塊 highlighting 支援。 Tree 是電腦程式設計中最重要、最核心的一種資料結構。樹狀結構是日常...
121. Best Time to Buy and Sell Stock 解題程式碼 var maxProfit = function (prices) {...
2705. Compact Object 解題程式碼 var compactObject = function (obj) { if (obj === nu...
本文同步更新於個人網站中,有更好的排版和程式碼區塊 highlighting 支援。 我們都知道透過陣列索引的方式來查詢資料的效率非常高,而如果是鏈結串列的...
2629. Function Composition 解題程式碼 // 解法 1. 最簡潔 const compose = (fs) => (x) =&g...
本文同步更新於個人網站中,有更好的排版和程式碼區塊 highlighting 支援。 我們昨天已經看過了單向及雙向的鏈結串列,今天我們再來看看另外兩種鏈結串...
2622. Cache With Time Limit 解題程式碼 var TimeLimitedCache = function () { this.ca...
本文同步更新於個人網站中,有更好的排版和程式碼區塊 highlighting 支援。 我們先簡單回顧陣列,作為一個被廣泛內建在各語言中的資料結構,它是在記憶...
本文同步更新於個人網站中,有更好的排版和程式碼區塊 highlighting 支援。 雙端佇列(Double-ended Queue, Deque)是一種允...
此演算法是分治法的延伸,將一個問題分成好幾個小問題,並將小問題解出並記錄答案,例如用一個陣列去儲存,這些小問題的答案就不用被重複計算,最後根據小問題的答案取得整...
本文同步更新於個人網站中,有更好的排版和程式碼區塊 highlighting 支援。 佇列(Queue)是一種先進先出(First In First Out...
在介紹 Dijkstra’s Algorithm 前要先說這是最短路徑問題(Shortest Path)中的一種經典演算法,最短路徑問題是能算出在 graph...
本文同步更新於個人網站中,有更好的程式碼 syntax highlighting 和 KaTeX 數學公式顯示支援。 我們可以把 Stack 看成是一個弱化...
簡單說,就是有多個節點(vertex),且彼此有些連接線(edge)的資料結構,以下都是 graph : 並且 graph 種類還能分為有向 & 無...
資料結構 一想到資料結構就感到很複雜的一些觀念最早使用電腦的主因是要用來儲存及管理一些資料,這也是資料結構觀念的由來。當我們要求電腦解決問題時,必須以電腦了解的...
Priority Queue 的每個節點都含有優先度 (Priority),而套用至 Queue 的規則中則是優先度高的會先被移除。 舉日常開發的任務優先度來說...
Binary Heap 和 Binary Search Tree 很類似,但規則上有些不同。 有兩種 Binary Heap : Max Binary Hea...
一種樹狀資料結構,含有根節點與子節點,每個節點彼此是親子的關聯。 Root: 根節點,樹狀資料結構的第一個的節點,以上圖來說就是 15。 Child: 子節...
Queue 是一種 FIFO (First In First Out) 資料結構。 第一個加入的元素,會被第一個移除。 可應用在排隊等待處理的功能,像是對戰遊戲...
Stack 是一種 LIFO (Last In First Out) 資料結構 最後一個加入的元素,會被第一個移除。 可應用在回復上一步的功能,在操作繪圖軟體時...