iT邦幫忙

資料結構與演算法相關文章
共有 268 則文章

技術 [Pyhton][資料結構]字串比對

先比對樣式的最後一個字元,再從頭開始比對 def match(pat,txt): lastt=len(txt)-1 lastp=len(pat)...

技術 [Pyhton][資料結構]稀疏矩陣(三)

給定兩個稀疏矩陣,並用三元序對表示: sparse1 = [ [5, 6, 4], [1, 2, 3],...

技術 [Python][資料結構]稀疏矩陣(二)

給定三元序對 sparse1 = [ [5, 6, 4], [1, 2, 3],...

鐵人賽 自我挑戰組 DAY 30

技術 Day30-[Grind 169 questions[Binary Tree] LeeCode 101、863、572 & 完賽心得

完賽心得 今年參加鐵人賽,個人感覺是水過一年的感覺XD,因為就只是把解題的練習記錄複製貼上來,但今年因為沒有備太多天的稿,所以在時程的壓力下,的確有達到督促自己...

鐵人賽 自我挑戰組 DAY 30

技術 Day30 - 從競賽程式學習資料結構與演算法-最後總結

終於到最後一天了,在這過程中有著無數次催隊友快點發文,也有幾次差點忘記需要寫文,甚至最近因為社團的事情和比賽沒有什麼時間可以寫文章,所以內容越來越簡單,不過終究...

鐵人賽 自我挑戰組 DAY 30

技術 Day 30 魂歸於光,謝謝 & 再會

起點與動機 在三十天前,我參加了 IT 鐵人賽,起初的動機很簡單,因為身邊有人要組隊報名,一時衝動就報了。經過這次比賽,我發現真的!透過寫作可以鞏固自己的知識基...

鐵人賽 自我挑戰組 DAY 29

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

Disjoint-set Data Structure 主要特性 Disjoint-set(並查集)是一種數據結構,用於追蹤和管理多個不相交的集合。其核心功能是...

鐵人賽 自我挑戰組 DAY 29

技術 Day29-[Grind 169 questions[Binary Tree] LeeCode 100、103、437

100. Same Tree 解題程式碼 var isSameTree = function (p, q) { if (p === null &&a...

鐵人賽 自我挑戰組 DAY 28

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

Priority Queue 主要特性 Priority Queue(優先隊列)是一個特別的資料結構,主要用於管理一組有序的元素。這些元素根據其優先級進行排序,...

鐵人賽 自我挑戰組 DAY 28

技術 Day28-[Grind 169 questions[Binary Tree] LeeCode 105、113、662

105. Construct Binary Tree from Preorder and Inorder Traversal 解題程式碼 var buildTr...

鐵人賽 自我挑戰組 DAY 27

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

Set Set 資料結構的主要特性是「元素的獨特性」和「無序性」。這個特性就像我們在生活中遇到的集合:每個元素都是獨特的,並且集合中的元素沒有特定的順序。 將其...

鐵人賽 自我挑戰組 DAY 27

技術 Day27-[Grind 169 questions[Binary Tree] LeeCode 543、199、104

543. Diameter of Binary Tree 解題程式碼 var diameterOfBinaryTree = function(root) {...

鐵人賽 自我挑戰組 DAY 26

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

Queue Queue 資料結構的主要特性是「First-In-First-Out」(FIFO)。這個特性就像我們排隊等待服務:最早來的人將是最早得到服務的人。...

鐵人賽 自我挑戰組 DAY 26

技術 Day26-[Grind 169 questions[Binary Tree] LeeCode 110、102、236

110. Balanced Binary Tree 解題程式碼 /** * Definition for a binary tree node. * fun...

鐵人賽 自我挑戰組 DAY 25

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

Stack Stack 資料結構的主要特性是「Last-In-First-Out」。這個特性就好像我們使用一個只能從頂部取放物品的盒子。 為了更加具體化這個概念...

鐵人賽 自我挑戰組 DAY 24

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

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

鐵人賽 自我挑戰組 DAY 24

技術 Day24-[Grind 169 questions][Binary] LeeCode 190、13、528

190. Reverse Bits 解題程式碼 var reverseBits = function (n) { let result = 0; for...

鐵人賽 自我挑戰組 DAY 23

技術 Day 23 n 等分的新娘 其二

更多分治例題 快速冪 快速冪算法是一種高效計算大整數指數冪的方法。傳統的方法是通過連續乘法來計算 a 的 b 次方,但當 b 非常大時,這種方法的效率非常低。快...

鐵人賽 自我挑戰組 DAY 23

技術 Day23-[Grind 169 questions][Binary] LeeCode 191、136、268

191. Number of 1 Bits 解題程式碼 var hammingWeight = function (n) { let count = 0;...

鐵人賽 自我挑戰組 DAY 22

技術 Day 22 n 等分的新娘 其一

分而治之 分而治之(Divide and Conquer)是一個古老且廣泛使用的演算法策略。其核心概念是將大問題分解為若干較小的子問題,獨立解決這些子問題,然後...

鐵人賽 自我挑戰組 DAY 22

技術 Day22-[Grind 169 questions][Binary] LeeCode 67、287、338

67. Add Binary 解題程式碼 var addBinary = function (a, b) { let carry = 0; let re...

鐵人賽 自我挑戰組 DAY 21

技術 Day 21 來!威利在哪裡? 其二

利用圖論概念的搜尋 BFS (Breadth-First Search) Breadth-First Search (BFS) 是一種圖遍歷算法,用於搜索圖或樹...

鐵人賽 自我挑戰組 DAY 21

技術 Day21-[Grind 169 questions][String] LeeCode 14、179、271

14. Longest Common Prefix 解題程式碼 var longestCommonPrefix = function (strs) { if...

鐵人賽 自我挑戰組 DAY 20

技術 Day 20 來!威利在哪裡? 其一

搜尋演算法 搜尋演算法就是在狀態空間進行枚舉,通過某種方式(可能是枚舉、或一些啟發是策略)來計算符合特定條件的解或最佳解。 常見的搜尋演算法 線性搜尋:線性搜...

鐵人賽 自我挑戰組 DAY 20

技術 Day20-[Grind 169 questions][String] LeeCode 438、49、424

438. Find All Anagrams in a String 解題程式碼 const alphabets = 'abcdefghijklmnopqrst...

鐵人賽 自我挑戰組 DAY 19

技術 Day 19 無謀的貪心 其二

經典貪心問題 找零問題 店員在收錢時,常常會希望可以拿到以最少紙鈔、硬幣組成的現金 那要怎麼才能 n 元以最少的紙鈔、硬幣組成呢? 新台幣常用的紙鈔、硬幣有以下...

鐵人賽 自我挑戰組 DAY 19

技術 Day19-[Grind 169 questions][String] LeetCode 409、8、5

409. Longest Palindrome 解題程式碼 var longestPalindrome = function (s) { const cha...

鐵人賽 自我挑戰組 DAY 18

技術 Day 18 無謀的貪心 其一

到目前為止,我們講過了該怎麼「暴力」枚舉問題、教過了該遞迴實作上的技巧。 不過在遇到某些問題時,你是否曾想過:「感覺只要我每個步驟都採用最佳的策略,好像就能得到...