排序是電腦很常用到的演算法也是很經典的演算法種類,排序相關的演算法如下: ▌選擇排序法(Selection Sort) 算是比較簡單的排序演算法。會在「未排序...
Selection Sort 實作上是遍歷一次陣列,找出最小值,並將最小值與陣列的第一個值交換,以此類推,再遍歷一次陣列 (先前排序好的位置可以略過) 找出最小...
Frequency Counter 是一種解題技巧,它使用物件的鍵值 (Key) 來記錄陣列或字串裡面特定值的出現次數。它可以避免一直遍歷資料,可以有效減少時間...
講完了Array跟Linked list接下來我們來講Stack跟Queue吧d(`・∀・)b什麼是Stack勒,先舉一些日常生活中的例子,像是餐廳裡面洗好堆起...
昨天看了二元樹的表示方式,今天來看看他的走訪!! 二元樹走訪(Binary Tree Traversal) 我 定義: 拜訪Binary tree 中每個Nod...
一、如何判斷演算法的效能 ? 當同樣的問題,可以用不一樣的演算法來解決時,要如何判斷哪個演算法比較好 ?可以使用以下兩個評量指標: 花的時間少,所需步驟少 (...
一看到樹大家會想到甚麼勒,我會想到野餐,好想出去玩歐歐歐☆^(o´Ф∇Ф)o沒想到資料結構裡面也有樹和森林吧,他其實像是模擬現實生活中的樹幹、樹枝和葉子的樣子那...
Aloha!又是我少女人妻Uerica!第二天了,真是令人興奮,因為後面要怎麼寫我都還沒想好啊~哈哈哈哈!昨晚躺在床上想了一夜都睡不著,一直在想...明天要吃什...
Bucket Sort 和之前的 Radix Sort 有點類似,建立幾個桶子並將資料丟進去排序。而 Bucket Sort 是取區間,例如 1 號桶子裝 0...
Youtube連結:https://bit.ly/38xDPdR 這次首次嘗試以「動畫」形式,來演示Bubble Sort演算法的轉變過程。我們將透過...
上一回提到廣度優先搜尋的步驟是檢查圖中節點,並將與其相連的節點放入佇列中,再一一檢查。 光是這樣的文字描述,可能感覺只是線性地檢查所有節點,但其實廣度優先搜尋的...
#771 - Jewels and Stones 連結: https://leetcode.com/problems/jewels-and-stones/...
上一回提到大O符號表達執行時間,但對於大O符號我們可能有些疑問。 既是叫時間,那它的單位是什麼? 我們可以在演算法的例子中加入時間來比較一下。 如果今天有一個有...
Leecode 239. Sliding Window Maximum Given an array nums, there is a sliding win...
Aloha!我是中秋節沒有肉烤的少女人妻 Uerica!今年連假沒什麼跟朋友相聚的機會,還收到一堆月餅,根本在考驗意志力。半夜想偷吃月餅的時候我都會 googl...
#993 - Cousins in Binary Tree 連結: https://leetcode.com/problems/cousins-in-bina...
Youtube連結:https://bit.ly/33cfaZS 紅黑樹有著自我平衡的特性,透過「旋轉」與「顏色」的操作,保證著階層數的穩定。紅黑樹不僅是...
如果說演算法讓人以更好的方法解決問題,那麼對於以程式解決問題的人而言,演算法理當能讓我們寫出更好的程式。所以隨著鐵人賽來到了終點,經過了沐浴在演算法光輝中的一個...
我們繼續透過 LeetCode #66 Plus One 來實際感受解決問題的過程 ( 題目連結 ) 一、理解題目 輸入:一個正整數組成,且從大到小排序好的陣...
這是我第一次想參加鐵人30天,畢業後工作了3年左右,覺得工作上想要再進修自己不足的部份,於是開始研讀以前大學時代沒有認真學習的演算法科目。不讀還好,一讀就確確實...
#476 - Number Complement 連結: https://leetcode.com/problems/number-complement/...
本系列文章複習了一些業界常考演算法 從中也一再的複習/整理自己所學,釐清一些概念,希望大家經過一系列的文章,都能有所收穫,再次提醒,建議練習題目時,除了...
Quick Sort 使用基準值 (pivot) 比對排序,並透過 Recursion 的技巧,不斷將每個元素放到正確的位置上。 第一步是從陣列中取出一個數字當...
Youtube教學影片連結:https://bit.ly/2ECHcoQ 這次帶大家深度了解二元樹(Binary Tree),我們將從DFS的角度來理解...
#387 - First Unique Character in a String 連結: https://leetcode.com/problems/fi...
今天來聊聊,空間複雜度(Space Complexity) 空間複雜度,空間指的是在執行程式碼時所耗費的記憶體容量。空間複雜度與時間複雜度的表示方式相同,都用B...
和大家分享一下我在製作遊戲中很常使用的HSB顏色空間。和一般我們用RGB的顏色空間不同,很大一部分的色彩學都是建立在色相上的,這支影片主要就是帶大家看一下這兩個...
資料結構(data structure) 在電腦科學中,資料結構是電腦中儲存、組織資料的方式,其實就是資料加上去定義一些資料之間的關係,像是要運用什麼樣的邏輯來...
討論演算法的執行時間到現在,我們只提最糟糕的情況,好像不斷在強調演算法的效能可以有多差。 你可能會想,就算用線性搜尋玩猜數字,最衰最衰要猜100次,那也會有很多...
#383 - Ransom Note 連結: https://leetcode.com/problems/ransom-note/ 難度: Easy 感謝大...