Bucket Sort 和之前的 Radix Sort 有點類似,建立幾個桶子並將資料丟進去排序。而 Bucket Sort 是取區間,例如 1 號桶子裝 0...
problem 輸入為一個不為空的陣列,元素為整數或陣列,內層的陣列中也可能包含整數或陣列...以此類推。回傳陣列的 '商品總和',每一個陣列的商品總和代表元素...
在這篇之前的排序法都可以用在任何可以比較的資料上,例如一個含有帳戶資料的陣列,按照每個帳戶的 ID 、更新時間、名字、帳戶餘額等等來排序。但 Radix Sor...
problem 輸入為一個陣列 array,長度至少為 3,元素皆為整數。在不排序 array 的情況下,回傳一個有序陣列,其中包含 array 中最大的三個數...
Quick Sort 使用基準值 (pivot) 比對排序,並透過 Recursion 的技巧,不斷將每個元素放到正確的位置上。 第一步是從陣列中取出一個數字當...
problem 輸入為一個陣列和一個整數 target。陣列有排序,元素為不重複的整數,但是所有的元素往左或往右 '移位' 了一個或多個位置,例如陣列 [1,...
Merge Sort 是一種透過切分資料再一一合併的排序演算法。 Merge Sort 有使用到 Divide and Conquer 與 Recursion...
problem 輸入為一個元素為整數的有序陣列和一個整數 target,以二元搜尋檢查 target 是否在陣列中,有則回傳索引值,否則回傳 -1。 sampl...
同學們是否玩過有天梯排名的電競遊戲?有這種賽制的對戰遊戲中,來自四面八方的玩家都可以隨意找對手玩個兩場,並在賽後增減天梯積分,積分越高,越能受到來自其他玩家們景...
problem 輸入為兩個字串 characters 和 document,一個包含可利用的字元,另一個代表要產生的文件。回傳是否可以以可用字元產生文件。 只有...
昨天看了二元樹的表示方式,今天來看看他的走訪!! 二元樹走訪(Binary Tree Traversal) 我 定義: 拜訪Binary tree 中每個Nod...
problem 題目的情境是,要為一個班級拍合照,全班人數必為偶數 (代表至少兩個人),一半的人穿紅衣服,另一半的人穿藍衣服。將全部的人排成兩橫排拍照,規則是:...
前兩天分別介紹了兩種路徑搜尋演算法,《戴克斯特拉》與《貪婪演算法》。他們尋路的過程大同小異,但演算的結果卻大相徑庭。 復習 這兩種演算法都會將觸及的所有格子,分...
problem 輸入為一陣列,陣列不為空陣列且元素皆為正整數。每個元素代表一個任務的執行時間,一次只能執行一個任務,但順序可以換。 若每個任務的等待時間代表執行...
大家會不會也常常有那種被時間追著跑的感覺呢(´A`。)最近的我時常有這種感覺,越是這種時候好像越想逃避,但不可以!我們一起加油吧,不管怎麼樣還是要持續努力持續進...
昨天介紹了一個絕對最佳路徑搜尋法,《戴克斯特拉演算法》,但缺點是效率低,不適合在繁忙的遊戲程式裏運作。於是我們今天要把昨天的演算法稍稍地改一點,變成超高效率的貪...
problem 輸入為一個不為空的字串,回傳該字串經過變動長度編碼 (run-length encoding) 的結果。 sample input:string...
昨天介紹了很多跟樹狀結構有關的名詞,今天開始介紹不同種類的樹吧ヽ(✿゚▽゚)ノ 二元樹(Binary Tree) 定義 可以為空集合 若不為空,則有root及...
從第二個元素開始,往前比對,如果比前一個元素小,則交換位置,以此類推。 以 [30, 5, 1, 31, 10, 9, 2, 3, 4, 8, 7, 6] 來說...
一講到遊戲中的路徑搜尋,通常 A* 這個字眼馬上就會浮起來,因為A*演算法就是目前開發遊戲最熱門的路徑搜尋方式。不過同學們先別鼓噪,我們一步一步來,先從路徑搜尋...
problem 輸入為一個正整數 k,以及一個字串,字串不為空且其中字元都是小寫英文字母。將字串中每個字元在字母表中移動 k 個位置,回傳得到的新字串。 字元移...
Selection Sort 實作上是遍歷一次陣列,找出最小值,並將最小值與陣列的第一個值交換,以此類推,再遍歷一次陣列 (先前排序好的位置可以略過) 找出最小...
一看到樹大家會想到甚麼勒,我會想到野餐,好想出去玩歐歐歐☆^(o´Ф∇Ф)o沒想到資料結構裡面也有樹和森林吧,他其實像是模擬現實生活中的樹幹、樹枝和葉子的樣子那...
problem 輸入為一個字串,其中字元都是小寫英文字母,回傳字串中第一個只出現一次的字元的索引值。如果所有字元都重複出現,則回傳 -1。 sample inp...
昨天介紹了用array的方式做Queue,今天來介紹用linked list製作! [法二]用linked list製作 一、single linked lis...
一種排序資料的方式,實務上不太常使用,除了某些特定情境。相對於其他排序方式,Bubble Sort 效能較差。 儘管如此,作為基礎中的基礎,最好還是要理解其概念...
problem 輸入為一個不為空的字串,回傳該字串是否為回文 (palindrome)。所謂回文是指從前到後和從後到前寫法一樣的字串,只有一個字元的字串也是回文...
歐歐終於結束Stack的部分了,接下來換來介紹Queue~我們一樣先來舉一些生活中的例子,像是我們平常要買東西、搭車等等都需要排隊,先排到隊伍中的人會先獲得購買...
Linear Search Linear Search 非常常見,甚至在學迴圈時就已經用過了。以下直接給範例練習! Practice - Linear Sear...
problem 輸入為一個長寬為 m * n (m 可以等於 n) 的雙層陣列,將其中所有的元素以螺旋的順序放入另一陣列回傳。 這裡的螺旋順序指的是從雙層陣列的...