iT邦幫忙

algorithm相關文章
共有 358 則文章
鐵人賽 Software Development DAY 22

技術 Day 22:1863. Sum of All Subset XOR Totals

今日題目 題目連結:1863. Sum of All Subset XOR Totals 題目主題:Array, Backtracking, Bit Manip...

鐵人賽 自我挑戰組 DAY 25

技術 Day-25 Hash Function(雜湊函數), 乘法雜湊法, 除法雜湊法

Hash function 一個好的雜湊函數,可以把均勻的分佈在雜湊表的每一個slot中,也就是盡量滿足簡單均勻雜湊的假設,而且分布的均勻性,不會受到元素的影響...

鐵人賽 Software Development DAY 25

技術 【Day25】[演算法]-合併排序法Merge Sort

合併排序法(Merge Sort)原理是會先將原始資料分割成兩個資料列,接著再將兩個資料繼續分割成兩個資料列,依此類推,直到無法再分割,也就是每組都只剩下一筆資...

鐵人賽 自我挑戰組 DAY 24

技術 Day-24 Hash Table(雜湊表)

字典(Dictionary) 抽象資料結構 在字典裡,有個物品,每一樣東西都會跟隨著一個(假設物品和物品之間,不會有相同的),我們可以透過去找出我們想要的物品,...

鐵人賽 Software Development DAY 21

技術 Day 21:401. Binary Watch

今日題目 題目連結:401. Binary Watch 題目主題:Backtracking, Bit Manipulation 簡單說說 Backtracki...

鐵人賽 Software Development DAY 24

技術 【Day24】[演算法]-希爾排序法Shell Sort

希爾排序法(Shell Sort)是插入排序(Insertion Sort)的改良版。可減少插入排序的資料搬移次數,加入了間距(Gap)的概念將資料分成多個小區...

鐵人賽 自我挑戰組 DAY 23

技術 Day-23 AVL Tree

樹的高度(height of the tree) 在Binary Search tree中,我們知道我們可以在的時間內,完成Delete, find min,...

鐵人賽 Software Development DAY 20

技術 Day 20:1566. Detect Pattern of Length M Repeated K or More Times

今日題目 題目連結:1566. Detect Pattern of Length M Repeated K or More Times 題目主題:Array,...

鐵人賽 Software Development DAY 23

技術 【Day23】[演算法]-插入排序法Insertion Sort

插入排序法(Insertion Sort),原理是逐一將原始資料加入已排序好資料中,並逐一與已排序好的資料作比較,找到對的位置插入。例如:已有2筆排序好資料,將...

鐵人賽 Software Development DAY 19

技術 Day 19:1534. Count Good Triplets

今日題目 題目連結:1534. Count Good Triplets 題目主題:Array, Enumeration 分享完Binary Tree等等相關主題...

鐵人賽 自我挑戰組 DAY 22

技術 Day-22 樹(Tree), 二元搜尋樹(Binary Search Tree)

前言 對於大量的資料處理,使用串列的走訪是一種十分沒有效率的方法,其效率會根據串列的長度而不斷線性成長,也就是,而樹(tree)這種資料結構,其大部分的操作時間...

鐵人賽 Software Development DAY 22

技術 【Day22】[演算法]-選擇排序法Selection Sort

選擇排序法(Selection Sort),原理是反覆從未排序數列中找出最小值,將它與左邊的數做交換。可以有兩種方式排序,一為由大到小排序時,將最小值放到末端;...

鐵人賽 Software Development DAY 18

技術 Day 18:501. Find Mode in Binary Search Tree

今日題目 題目連結:501. Find Mode in Binary Search Tree 題目主題:Tree, Depth-First Search, Bi...

鐵人賽 Software Development DAY 21

技術 【Day21】[演算法]-排序Sort & 氣泡排序法Bubble Sort

排序(Sorting) 排序(Sorting)在電腦領域中是非常普遍且重要工作,即是將一群不規格的資料按照某個規格來重新排列,讓排序過的資料容易閱讀、利於統計整...

鐵人賽 自我挑戰組 DAY 21

技術 Day-21 隊列(Queue)與循環對列(Circular Queue)

隊列(queue)介紹 隊列就如同堆疊一般,是一種線性表,與堆疊不同的地方在於,堆疊的push和pop操作都是在棧頂(Top)的地方進行操作,而隊列則是插入元素...

鐵人賽 Software Development DAY 17

技術 Day 17:700. Search in a Binary Search Tree

今日題目 題目連結:700. Search in a Binary Search Tree 題目主題:Tree, Binary Search Tree, Bin...

鐵人賽 自我挑戰組 DAY 20

技術 Day-20 堆疊(Stack)

堆疊介紹 堆疊是限制插入元素和刪除元素只能在同一個位置的表(list),該位置一般來說稱為棧頂(Top)。對堆疊的基本操作有 Push(推入,將資料加到棧頂)...

鐵人賽 自我挑戰組 DAY 19

技術 Day-19 ADT與鏈結串列(linked list)

前言 鏈結串列(linked list)是由一連串的結構(由 struct 所建立的節點)所構成,每一個節點中都含有兩筆資料,分別為節點的內容和下一個節點的記憶...

鐵人賽 Software Development DAY 16

技術 Day 16:108. Convert Sorted Array to Binary Search Tree

今日題目 題目連結:108. Convert Sorted Array to Binary Search Tree 題目主題:Array, Divide and...

鐵人賽 Software Development DAY 15

技術 Day 15:101. Symmetric Tree

今日題目 題目連結:101. Symmetric Tree 題目主題:Tree, Depth-First Search, Breadth-First Searc...

鐵人賽 自我挑戰組 DAY 18

技術 Day-18 BFPRT演算法

最壞情況為,BFPRT演算法 在由隨機數決定陣列的分割的情況下,我們如何避免產生出最差情況(雖然出現的機率很小),或是讓最差的情況時間複雜度也是。 BFPRT演...

鐵人賽 Software Development DAY 14

技術 Day 14:965. Univalued Binary Tree

今日題目 題目連結:965. Univalued Binary Tree 題目主題:Tree, Depth-First Search, Breadth-Firs...

鐵人賽 自我挑戰組 DAY 17

技術 Day-17 中位數與順序統計

最大值與最小值 在一個有n個元素的,未經排序的陣列中,如果我們要找到最小值,我們可以將一個陣列進行排序,使用merge sort等等方式,接著回傳該陣列的第一個...

鐵人賽 Software Development DAY 13

技術 Day 13:100. same tree

今日題目 題目連結:100. same tree 題目主題:Tree, Depth-First Search, Breadth-First Search, Bi...

鐵人賽 自我挑戰組 DAY 16

技術 Day-16 雇用問題, 指示器隨機變數(indicator random variable), 隨機化演算法

雇用問題 假設你要雇用新的辦公助理,而你找了一個雇用代理人去幫你推薦應聘的人,雇用代理人每天會給你推薦一個人。接著你會去面試這個人,並決定是否要雇用他。 因為雇...

鐵人賽 Software Development DAY 12

技術 Day 12:145. Binary Tree Postorder Traversal

今日題目 題目連結:145. Binary Tree Postorder Traversal 題目主題:Stack, Tree, Depth-First Sea...

鐵人賽 自我挑戰組 DAY 15

技術 Day-15 線性時間演算法 : Bucket sort

bucket sort(桶排序) 假設輸入平均分布,也就是輸入的陣列每一種組合情況都是機率均等的,平均情況下他的時間複雜度為。和counting sort類似,...

鐵人賽 Software Development DAY 11

技術 Day 11:94. Binary Tree Inorder Traversal

今日題目 題目連結:94. Binary Tree Inorder Traversal 題目主題:Stack, Tree, Depth-First Search...

鐵人賽 自我挑戰組 DAY 14

技術 Day-14 線性時間演算法 : Radix sort

radix sort(Herman Hollerith) 基數排序(radix sort)是種應用在打孔卡排序機上面的演算法,每一張卡片有80列,在每一列上機器...

鐵人賽 Software Development DAY 10

技術 Day 10:144. Binary Tree Preorder Traversal

今日題目 題目連結:144. Binary Tree Preorder Traversal 題目主題:Stack, Tree, Depth-First Sear...