作為一名明年就要畢業的大四生,我想將自己大二時學過的資料結構和常見演算法用JavaScript實作一次,像是連結串列、堆疊、佇列、排序還有河內塔、八皇后等問題。
透過這些練習提升自己的程式能力和文章的論述能力,並讓看我文章的人們有所收穫。
今天要介紹的是快速排序法 Quick Sort,它普遍被認為最快的排序演算法,並且採用分治法(Divide and Conquer)。運作方式是在資料列設定一個...
今天要介紹的是循序搜尋法(Sequential Search),也可稱為線性搜尋法(Linear Search),運作原理相當簡單,就是在資料列一個一個值的和目...
這次要介紹的是二分搜尋法(Binary Search),使用此排序法的話,要搜尋的資料列必須經過排序。運作原理就是將要尋找的值和資料列中間的值進行比較。如果尋找...
不知不覺開賽也來到第24天了,在前面的23天介紹了資料結構/排序搜尋演算法之後,剩下的7天每天都會用來解一道題目,那麼今天要探討的是一個非常經典的 Knapsa...
今天要來解的題目是完美數,完美數是什麼呢?如果一個正整數的除了自己本身的其他因數總和剛好等於該正整數,則該數字稱為完美數。 因此這次的題目內容就是輸入一個正整數...
今天要來解的題目是阿姆斯壯數,阿姆斯壯數是什麼呢?假定給定一個 n 位數的整數,該整數的每個位數乘上 n 次方的總和剛好為該整數,則該數字就為阿姆斯壯數。ex:...
今天要解的題目是凱薩密碼,凱薩密碼也稱為凱撒加密,它會將一串明文的所有字母順序經過一定數字的偏移後轉為密文。 例如有一串字母 ABCD,分別是英文26個字母中的...
今天我們要解的題目是 Ransom Note,題目內容如下: 先給定一段句子或是文章,之後再給出一個比較短的句子,若該句子的單字都能從一開始給的文章文章擷取出來...
這次的題目如下:給定一個包含多個數字的陣列和一個目標值,然後從陣列裡面找出兩個數,兩個相加正好等於該目標值,要注意數字不可以被重複使用,陣列裡也可能有多種組合相...
終於來到最後一天的挑戰!!時間真的過很快呢~今天我們要解決 Subsets 問題。該問題內容如下: 給定一個陣列,裡面包含多個不重複的數字元素,然後要求出陣列中...