iT邦幫忙

資料結構相關文章
共有 162 則文章

技術 [Python][資料結構]Difference Array-差分陣列、逆向差分

給定一個Array,並且給定一個L、R、Value,我們要在陣列的Array[L]跟Array[R]之間加上value。 定義:前綴和序列:Si=S(i-1)+...

鐵人賽 自我挑戰組 DAY 24

技術 Day 24 群星歸位...永恆的海底...資結升起...萬物歸一

資料結構是電腦科學中一個關鍵概念,它是關於如何以特定的方式組織和存儲數據,以便能夠有效地訪問和修改。資料結構不僅僅是關於數據的存儲,而是提供了一種在數據上執行操...

鐵人賽 Software Development DAY 16

技術 【資料結構】優先佇列 Priority Queue

本文同步更新於個人網站中,有更好的排版和程式碼區塊 highlighting 支援。 首先我們來回憶一下佇列,普通的佇列是一種先進先出(FIFO)的資料結構...

鐵人賽 Software Development DAY 15

技術 【資料結構】堆積 Heap

本文同步更新於個人網站中,有更好的排版和程式碼區塊 highlighting 支援。 不要被標題所迷惑,這個還是以 Tree 為基礎的資料結構。堆積(Hea...

鐵人賽 Software Development DAY 14

技術 【資料結構】二元搜尋樹 Binary Search Tree

本文同步更新於個人網站中,有更好的排版和程式碼區塊 highlighting 支援。 透過實作走訪發現到,二元樹最大的優勢是對稱,從而實作各種易讀性非常強的...

鐵人賽 自我挑戰組 DAY 14

技術 Day14-[Grind 169 questions][Array] LeetCode 11、252、134

11. Container With Most Water 解題程式碼 var maxArea = function (height) { let left...

鐵人賽 Software Development DAY 13

技術 【資料結構】Tree 的廣度優先走訪與印出一棵 Tree

本文同步更新於個人網站中,有更好的排版和程式碼區塊 highlighting 支援。 昨天我們已經介紹了深度優先走訪的三種方式,今天我們來介紹廣度優先走訪,...

鐵人賽 自我挑戰組 DAY 13

技術 Day13-[Grind 169 questions][Array] LeetCode 169、75、217

169. Majority Element 解題程式碼 var majorityElement = function (nums) { let majori...

鐵人賽 Software Development DAY 12

技術 【資料結構】Tree 的深度優先走訪

本文同步更新於個人網站中,有更好的排版和程式碼區塊 highlighting 支援。 樹的走訪(traversal)或者說遍歷是一個很基礎的問題,有很多實際...

鐵人賽 自我挑戰組 DAY 12

技術 Day12-[Grind 169 questions][Array] LeetCode 238、39、56

238. Product of Array Except Self 解題程式碼 var productExceptSelf = function (nums)...

鐵人賽 Software Development DAY 11

技術 【資料結構】樹與二元樹 Tree and Binary Tree

本文同步更新於個人網站中,有更好的排版和程式碼區塊 highlighting 支援。 Tree 是電腦程式設計中最重要、最核心的一種資料結構。樹狀結構是日常...

鐵人賽 自我挑戰組 DAY 11

技術 Day11-[Grind 169 questions][Array] LeetCode 121、57、15

121. Best Time to Buy and Sell Stock 解題程式碼 var maxProfit = function (prices) {...

鐵人賽 自我挑戰組 DAY 10

技術 Day10-[30 Days of JavaScript] LeeCode 2705、2715、2722、2723

2705. Compact Object 解題程式碼 var compactObject = function (obj) { if (obj === nu...

鐵人賽 Software Development DAY 9

技術 【資料結構】雜湊表 Hash Table

本文同步更新於個人網站中,有更好的排版和程式碼區塊 highlighting 支援。 我們都知道透過陣列索引的方式來查詢資料的效率非常高,而如果是鏈結串列的...

鐵人賽 自我挑戰組 DAY 9

技術 Day9-[30 Days of JavaScript] LeeCode 2629、2637、2665、2704

2629. Function Composition 解題程式碼 // 解法 1. 最簡潔 const compose = (fs) => (x) =&g...

鐵人賽 Software Development DAY 8

技術 【資料結構】 鏈結串列 Linked List (2)

本文同步更新於個人網站中,有更好的排版和程式碼區塊 highlighting 支援。 我們昨天已經看過了單向及雙向的鏈結串列,今天我們再來看看另外兩種鏈結串...

鐵人賽 自我挑戰組 DAY 8

技術 Day8-[30 Days of JavaScript] LeeCode 2622、2623、2625

2622. Cache With Time Limit 解題程式碼 var TimeLimitedCache = function () { this.ca...

鐵人賽 Software Development DAY 7

技術 【資料結構】鏈結串列 Linked List (1)

本文同步更新於個人網站中,有更好的排版和程式碼區塊 highlighting 支援。 我們先簡單回顧陣列,作為一個被廣泛內建在各語言中的資料結構,它是在記憶...

鐵人賽 Software Development DAY 6

技術 【資料結構】雙端佇列 Deque

本文同步更新於個人網站中,有更好的排版和程式碼區塊 highlighting 支援。 雙端佇列(Double-ended Queue, Deque)是一種允...

鐵人賽 自我挑戰組 DAY 6

技術 Day6-Dynamic Programming 動態規劃法

此演算法是分治法的延伸,將一個問題分成好幾個小問題,並將小問題解出並記錄答案,例如用一個陣列去儲存,這些小問題的答案就不用被重複計算,最後根據小問題的答案取得整...

鐵人賽 Software Development DAY 5

技術 【資料結構】佇列 Queue

本文同步更新於個人網站中,有更好的排版和程式碼區塊 highlighting 支援。 佇列(Queue)是一種先進先出(First In First Out...

鐵人賽 自我挑戰組 DAY 5

技術 Day5-Dijkstra's Algorithm(戴克斯特拉演算法)

在介紹 Dijkstra’s Algorithm 前要先說這是最短路徑問題(Shortest Path)中的一種經典演算法,最短路徑問題是能算出在 graph...

鐵人賽 Software Development DAY 4

技術 【資料結構】堆疊 Stack

本文同步更新於個人網站中,有更好的程式碼 syntax highlighting 和 KaTeX 數學公式顯示支援。 我們可以把 Stack 看成是一個弱化...

鐵人賽 自我挑戰組 DAY 4

技術 Day4-Graph 圖

簡單說,就是有多個節點(vertex),且彼此有些連接線(edge)的資料結構,以下都是 graph : 並且 graph 種類還能分為有向 & 無...

鐵人賽 Software Development DAY 4
Easy to learn Algorithm 系列 第 4

技術 「Day4」資料結構I

資料結構 一想到資料結構就感到很複雜的一些觀念最早使用電腦的主因是要用來儲存及管理一些資料,這也是資料結構觀念的由來。當我們要求電腦解決問題時,必須以電腦了解的...

鐵人賽 Software Development DAY 26

技術 Day 25 先拿龍再拆塔 - Priority Queue

Priority Queue 的每個節點都含有優先度 (Priority),而套用至 Queue 的規則中則是優先度高的會先被移除。 舉日常開發的任務優先度來說...

鐵人賽 Software Development DAY 25

技術 Day 24 出疊書上課囉 - Binary Heap

Binary Heap 和 Binary Search Tree 很類似,但規則上有些不同。 有兩種 Binary Heap : Max Binary Hea...

鐵人賽 Software Development DAY 22

技術 Day 21 超硬 Tree 登場 - Binary Search Tree

一種樹狀資料結構,含有根節點與子節點,每個節點彼此是親子的關聯。 Root: 根節點,樹狀資料結構的第一個的節點,以上圖來說就是 15。 Child: 子節...

鐵人賽 Software Development DAY 17

技術 Day 16 先進先出 - Queue

Queue 是一種 FIFO (First In First Out) 資料結構。 第一個加入的元素,會被第一個移除。 可應用在排隊等待處理的功能,像是對戰遊戲...

鐵人賽 Software Development DAY 16

技術 Day 15 先進後出 - Stack

Stack 是一種 LIFO (Last In First Out) 資料結構 最後一個加入的元素,會被第一個移除。 可應用在回復上一步的功能,在操作繪圖軟體時...