heap sort的原理是採用max heap這種資料結構來做排序,max heap是一種binary tree,每個節點都會比自己的子節點還大,因此根節點會是...
前言 終於結束了安全性演算法的部分,有興趣的人可以進一步學習密碼學,筆者想推薦一個課程: Udemy:數論與密碼學 (Python, JavaScript) 課...
本系列文章同步分享於個人Blog → InformisTry-HankLee 前言 應該有人跟我一樣真心覺得Brute Force其實看起來也沒什麼,就都是很簡...
本系列文章同步分享於個人Blog → InformisTry-HankLee 前言 昨天介紹Distribution Sort的時候提到了Map/Diction...
聊聊堆疊(Stack) 堆疊是一種後進先出(Last In First Out)(LIFO)的資料結構,換句話說,堆疊就是將數據排成一列,由下往上堆放文件,只能...
訊息鑑別碼(Message Authentication Code) 訊息鑑別碼(Message Authentication Code,MAC),能夠實現「身...
八皇后問題可以說是一道相當經典的演算法題目,以西洋棋為背景,如何在一個8x8的棋盤上擺放八個皇后的棋子,讓任何一個皇后無法吃掉其中一個皇后,也是就是任何一個皇...
費氏數列(Fibonacci numbers) 還記得達文西密碼裡面,羅浮宮館長死前留下的密碼嗎? 其中關鍵的線索就是費氏數列! 費氏數列,又稱斐波那契數列。意...
本系列文章同步分享於個人Blog → InformisTry-HankLee 前言 有些時候就是有一些無聊的問題想要解決,才會發展出一些簡單的演算法,然後才會進...
近期面試掀起了一波考演算法的風氣,就好像回到大學指考那樣,老師說這題會考一定要記起來,因此掀起了一股leetcode刷題的風潮,甚麼經典考題都要寫過一遍,剛開始...
本系列文章同步分享於個人Blog → InformisTry-HankLee 前言 當在設計一個演算法的時候,倘若使用到了Tree這種資料結構,絕大部分的情況下...
Traversal翻譯成中文就是遍歷的意思,如果要遍歷tree的每個節點的話,會有兩種方式,Breadth-First Tree Traversal和Dept...
本系列文章同步分享於個人Blog → InformisTry-HankLee 前言 第六天到第九天,我們都是在介紹屬於Brute Force的演算法,若要複習的...
每一種題目可能有數種的解法,那我們應該怎麼評估每種解法的優劣呢?以前的我應該會回答,當然是越簡短的寫法越好呀! 不過,寫過leetcode之後,會發現有時候很...
何謂「排序(Sort)」? 排序是指一組資料中,將資料以「由大到小」或「由小到大」的方式重新排列。常見的排序演算法有下列幾種: 氣泡排序法(Bubble So...
Youtube連結:https://bit.ly/2L88JSm 這次我們將精確定位出,在整個演算法學習中,我們所站立的位置;了解資料結構與演算法的定義後...
本系列文章同步分享於個人Blog → InformisTry-HankLee 前言 昨天介紹了第一種Divide and Conquer的演算法(Merge S...
回溯法是暴力破解法的一種,在列出各種可能的組合時,如果遇到不符合條件的就不再繼續向下查找,而是回到上層繼續尋找其他可能,聽起來有點抽象,可以想像有很多條岔路可...
本系列文章同步分享於個人Blog → InformisTry-HankLee 前言 接連兩天分別介紹了Selection Sort和Bubble Sort兩種排...
本系列文章同步分享於個人Blog → InformisTry-HankLee 前言 一連五天,我們介紹了Decrease and Conquer,今天和明天我們...
輾轉相除法(Euclidean algorithm) 輾轉相除法是求兩數的最大公因數(greatest common divisor,GCD)的演算法,也被稱為...
本系列文章同步分享於個人Blog → Informistry-HankLee 前言 第四天我們說明了什麼是抽象資料型別(Abstract Data Type,...
在認識動態規劃之前先來理解Divide and Conquer(分治法)吧!Divide and Conquer是一種演算法,執行的步驟如下 Divide:先...
Youtube連結:https://bit.ly/35x3dih 這次我們將精確定位出,在整個演算法學習中,我們所站立的位置;了解資料結構與演算法的定義...
前言 前一天有提到共用金鑰密碼系統(Shared-key CryptoSystem),又稱為「對稱密鑰演算法」(Symmetric-key algorithm)...
簡單來說就是函式自己呼叫自己的狀況,遞迴由兩部分組成 Recursive Case(遞迴情況) - 當函式呼叫自己本身的情況 Base Case(基本狀況) ...
本系列文章同步分享於個人Blog → InformisTry-HankLee 前言 第十二天我們介紹了Binary Search,而Binary Search在...
本系列文章同步分享於個人Blog → InformisTry-HankLee 前言 目前為止已經介紹了三種類別的演算法,每一種演算法都有其有趣的地方,今天我們要...
本系列文章同步分享於個人Blog → InformisTry-HankLee 前言 第六天我們終於開始上主菜了,第一個演算法Brute Force中的Selec...
星光熠熠,女孩與男孩躺在草地上。女孩一手牽著男孩的手,另一手指向蒼穹。「欸!你說那幾個星星連起來像是什麼呀?」「恩...我想應該像是一棵紅黑樹!」女孩捏了男孩...