本系列將會介紹基本與常見的演算法與資料結構,並使用 JavaScript 搭配練習一步步實作。
因筆者也是轉行至軟體工程師的行業,在 CS 相關基礎知識比較薄弱因此工作之後的進修特別著重補強這些知識。
本系列以筆者角度用通俗易懂方式講解,希望能讓讀者更容易理解,也藉由撰寫文章加強自身對於這些知識的理解與練習文筆。
最後希望讀者都能夠學以致用,遇到題目都能輕鬆開墮!
此演算法是由一位叫 Edsger Dijkstra 的荷蘭工程師所發明,他在電腦科學領域貢獻了許多奠定目前網際網路、電腦科學與數位服務等等的基礎。 在學習 D...
解決一個問題時,若此問題可以分解成多個重複性的子問題,且這些子問題的解答可以構成最終該問題的解答,則我們可以用 Dynamic Programming 的技巧,...
Counting Sort 是以數字為基礎的排序演算法,其需要定義最大範圍值,作為排序用,整體算法較簡單且速度較快,缺點就是排序元素需要確定在最大範圍值內且需要...
Shell Sort 是 Insertion Sort 的改良版,加入了間距 (Gap) 的概念將資料分成小區塊,將整組資料分組,每區塊用 Insertion...