近期剛好在學習資料結構和演算法 ,畢竟看教學是沒有壓力的,但要產出文章就不一樣了(笑),因此這一系列的文章會比較像我的學習筆記,藉由鐵人賽來促使自己整理這些學過的內容,並且訓練自己如何用比較簡單易懂的方式將這些抽象的概念表達出來。
近期面試掀起了一波考演算法的風氣,就好像回到大學指考那樣,老師說這題會考一定要記起來,因此掀起了一股leetcode刷題的風潮,甚麼經典考題都要寫過一遍,剛開始...
圖片來源:*https://www.dcard.tw/f/funny/p/225385728大家小時候應該有看過這個時代的眼淚 ——— 電話簿,厚厚的一本跟字典...
每一種題目可能有數種的解法,那我們應該怎麼評估每種解法的優劣呢?以前的我應該會回答,當然是越簡短的寫法越好呀! 不過,寫過leetcode之後,會發現有時候很...
Array是資料結構的一種,概念就像置物櫃一樣,每個櫃子都可以存放資料並且都有自己的編號稱為索引值index,Array為連續的記憶體位置,因此讀取資料非常快...
Map是JavaScript ES6中新增的資料結構 ,類似於object ,不過Map還是跟object有著以下的差異: Map的key是可以是原始型別、...
Set是JavaScript ES6中新增的資料結構,Set與陣列很類似,允許任何型態的值,跟陣列不同的是所有的值都是唯一的,不允許有重複的值,因此很適合用來去...
Stack Stack是一種資料結構,遵循著後進先出的原則,最晚放入堆疊的資料會被最先取出(LIFO Last-In-First-Out),最早放入堆疊的資料...
在理解hash table之前,先來理解hash(雜湊)吧! 雜湊的特色有以下幾點: 無論原本的內容長短,經過雜湊演算法處理過的值都會是固定長度 經由雜湊處理...
Linked List為抽象的資料結構,概念有點像三國的連環船,一艘船(節點)連結著下一艘船(節點),每個節點除了擁有自己的值之外也記錄自己的下一個節點是指向...
圖是由節點(node)和邊(edge)所組成的,一個節點可能與多個節點相連著,而這些相連的節點又被稱作相鄰節點(neighbor),圖在生活中應用的例子相當的...