貪婪演算法(英語:greedy algorithm),又稱貪心演算法,是一種在每一步選擇中都採取在當前狀態下最好或最佳(即最有利)的選擇,從而希望導致結果是...
前言 前面兩天已經提到共同金鑰密碼系統以及公開金鑰密碼系統,今天要來探討,結合兩種密碼系統,並且彌補其缺點的密碼系統:混成密碼系統(Hybrid Cryptos...
Aloha~!我是少女人妻 Uerica!有天地方角頭米飯,蒸籠幫的包子、饅頭、肉粽起了爭執,米飯米口眾多出手又兇狠,很快打得包子饅頭滿地找牙,害怕的肉粽被逼到...
今日題目 題目連結:506. Relative Ranks 題目主題:Array, Sorting, Heap(Priority Queue) 前幾天結束了St...
Aloha~又是我少女人妻 Uerica ! 中秋節過後就是秋天了,秋高氣爽是最適合旅遊的日子了,可惜連假已過而且還要寫鐵人賽文章呢~哈哈哈哈哈哈哈5555.....
Merge Sort採用分治法(Divide and Conquer)的方式來處理排序的問題,簡單介紹一下分治法執行的步驟如下 Divide:先將大問題不斷切...
前言 前一天有提到共用金鑰密碼系統(Shared-key CryptoSystem),又稱為「對稱密鑰演算法」(Symmetric-key algorithm)...
Aloha!又是我少女人妻 Uerica ,今天中秋節大家吃肉了嗎!傳說中后羿的狗狗偷吃了嫦娥吃剩的靈藥,就跟嫦娥一樣一起飛到月亮上,然後把嫦娥跟月亮都吃掉了!...
前言 前一天我們有稍微提到安全性演算法的其中一個,也就是今天的主題「共同金鑰密碼系統」(shared-key crypto system),其實筆者對於密碼學一...
今日題目 題目連結:225. Implement Stack using Queues 題目主題:Stack, Design, Queue 瞭解完Stack跟Q...
heap sort的原理是採用max heap這種資料結構來做排序,max heap是一種binary tree,每個節點都會比自己的子節點還大,因此根節點會是...
安全性與演算法 在電腦科學的領域裡,每一刻都有數以萬計的資料在進行傳輸,在傳輸的過程中,是真的安全嗎?相信每個人都有遇過詐騙電話,或是資料外洩,是怎麼樣的過程造...
我們繼續透過 LeetCode #66 Plus One 來實際感受解決問題的過程 ( 題目連結 ) 一、理解題目 輸入:一個正整數組成,且從大到小排序好的陣...
Aloha!又是我少女人妻 Uerica!昨晚跟朋友聊天突然發現,如果沒有最終目標或目標不夠明確,那過程中受的每一點日曬雨淋都猶如被鞭刑拷打一樣痛苦,可是如果能...
在了解快速排序法的概念之前要先理解partition演算法,不過單用文字敘述還是蠻抽象的,所以搭配示意圖來做說明,假如現在有個陣列[2, 6, 3, 9, 1,...
今日題目 題目連結:232. Implement Queue using Stacks題目主題:Stack, Design, Queue 此題目主要是來了解Qu...
我們透過 LeetCode #412 Fizz Buzz 來實際感受解決問題的過程 ( 題目連結 ) 一、理解題目 輸入:一個正整數 從 1 到 n,依序判斷...
Aloha!我是中秋節沒有肉烤的少女人妻 Uerica!今年連假沒什麼跟朋友相聚的機會,還收到一堆月餅,根本在考驗意志力。半夜想偷吃月餅的時候我都會 googl...
bubble sort的概念就是像泡泡一樣 ,越大的數字會漸漸的往右邊浮 比較相鄰的元素 ,兩兩比大小, 如果前面的數字大於後面的數字就交換順序,一路把最...
今日題目 題目連結:20. Valid Parentheses題目主題:String, Stack 玩了幾題排序後,接下來會分享兩種重要的資料結構Stack &...
鏈接串列(Linked List) 鏈接串列是一種線性表,使用Pointer串接資料,好處是找到目標位置後,可以有效率的插入或刪除元素,陣列不適合在中間位置插入...
Aloha!又是我少女人妻Uerica!話說這次有很多以前的朋友同學們一起參加鐵人賽,,不但可以一起加油打氣,因為每天都會去收看大家的文章,真是收穫滿滿~啊。...
一、如何判斷演算法的效能 ? 當同樣的問題,可以用不一樣的演算法來解決時,要如何判斷哪個演算法比較好 ?可以使用以下兩個評量指標: 花的時間少,所需步驟少 (...
貪婪(Greedy)演算法 貪婪演算法是考慮局部最佳解,在子結構中解決問題是相當有利的,但放入整體問題中,不一定會是最佳解。 貪婪演算法與動態規劃的不同在於它...
其實插入排序法就很像平時我們在玩撲克牌時整理牌組的行為,將撲克牌依照大小插入對應的位置,插入排序法的流程是從第2個位置開始與左邊的數字(位置1)比較,然後就依循...
今日題目 題目連結:88. Merge Sorted Array題目主題:Array、Two Pointer、Sorting 今天要說說另一種排序法,這次選的題...
一、什麼是演算法 ( Algorithm ) ? 演算法是一組 step by step 用來解決問題、完成任務的指令,它的定義: 在有限時間內 在有限步驟內...
從今天開始要來理解排序演算法了!簡單來說就是經過一連串的步驟將數字由小排到大或是由大排到小的演算法,下圖列出幾種常見的排序演算法,像是插入排序法、氣泡排序法、合...
最短路徑演算法 最短路徑是在賦予edges權重的「加權圖形」裡,指定「起點」和「終點」,求出起點到終點之間,權重總和最小的路徑。求取最短路徑時,通常edges的...
一、什麼是資料結構 ? 當我們撰寫程式時,會宣告變數來存放資料,這些資料會儲存在記憶體中,在我們需要時可以拿出來使用。這邊我們可以思考兩點: 要儲存的資料內容...