tag不存在或已被下架!
使用字典建立圖形資料結構 字典鍵值對應串列如下,配合圖表更容易理解。 G[0]:[1,2,3] G[1]:[0,2,3,4] G[2]:[0,1] G[3]:...
Traversal翻譯成中文就是遍歷的意思,如果要遍歷tree的每個節點的話,會有兩種方式,Breadth-First Tree Traversal和Dept...
Tree and Graph 在開始今天的主題之前,要先來淺談Tree跟Graph。什麼是Tree? Tree Tree 是一種特定的Graph,沒有Loop...
想必大家在刷leetcode時候,刷到特定的題目的時候都曾經看過這樣的圖片,這就是Binary tree,但在認識Binary tree之前,讓我們先來認識t...
圖是由節點(node)和邊(edge)所組成的,一個節點可能與多個節點相連著,而這些相連的節點又被稱作相鄰節點(neighbor),圖在生活中應用的例子相當的...
堆積(Heap) 堆積,是一種樹狀結構,用於實現「優先佇列(Priority queue)」。Priority queue是資料結構的一種,可以自由追加數據,讀...
淺談Divide And Conquer Day12有提到Divide and conquer(分治法),簡單的說,將問題分解為小問題後,依次解決,最後再將解決...
Divide and conquer(分而治之法) Divide and conquer 顧名思義是一種將問題分解為小問題再依次解決,最後再將解決問題合併的方法...
談談插入排序(Insertion Sort) 在開始今天之前,先來看看影片(約2分鐘)吧! https://www.youtube.com/watch?v=O...
選擇排序(Select Sort) 選擇排序是重複進行「將數列中最小值,與左邊的值對調」,一直保持由小到大的數列。 選擇排序法使用線性搜尋(Linear Sea...
何謂「排序(Sort)」? 排序是指一組資料中,將資料以「由大到小」或「由小到大」的方式重新排列。常見的排序演算法有下列幾種: 氣泡排序法(Bubble So...
Linked List為抽象的資料結構,概念有點像三國的連環船,一艘船(節點)連結著下一艘船(節點),每個節點除了擁有自己的值之外也記錄自己的下一個節點是指向...
在理解hash table之前,先來理解hash(雜湊)吧! 雜湊的特色有以下幾點: 無論原本的內容長短,經過雜湊演算法處理過的值都會是固定長度 經由雜湊處理...
Stack Stack是一種資料結構,遵循著後進先出的原則,最晚放入堆疊的資料會被最先取出(LIFO Last-In-First-Out),最早放入堆疊的資料...
Set是JavaScript ES6中新增的資料結構,Set與陣列很類似,允許任何型態的值,跟陣列不同的是所有的值都是唯一的,不允許有重複的值,因此很適合用來去...
雜湊表,我需要那個酷東西 在線性資料結構中,若要找一個資料,花費的時間複雜度為O(n),或是可以選擇節省時間,但是耗費記憶體容量。若是兩者都不想選,那就需要Ha...
Map是JavaScript ES6中新增的資料結構 ,類似於object ,不過Map還是跟object有著以下的差異: Map的key是可以是原始型別、...
Array是資料結構的一種,概念就像置物櫃一樣,每個櫃子都可以存放資料並且都有自己的編號稱為索引值index,Array為連續的記憶體位置,因此讀取資料非常快...
前言 今天聊到了佇列(queue)這種資料結構,佇列和Day5所提到的堆疊常放在一起看,他們的操作方式類似,但特性稍微有一點點的不同。 佇(ㄓㄨˋ)列(que...
聊聊堆疊(Stack) 堆疊是一種後進先出(Last In First Out)(LIFO)的資料結構,換句話說,堆疊就是將數據排成一列,由下往上堆放文件,只能...
每一種題目可能有數種的解法,那我們應該怎麼評估每種解法的優劣呢?以前的我應該會回答,當然是越簡短的寫法越好呀! 不過,寫過leetcode之後,會發現有時候很...
圖片來源:*https://www.dcard.tw/f/funny/p/225385728大家小時候應該有看過這個時代的眼淚 ——— 電話簿,厚厚的一本跟字典...
什麼是資料結構? 前一天有提到空間複雜度(Space Complexity),簡單的複習一下,空間複雜度指的是記憶體的使用效率。今天開始談到的資料結構,是可以有...
近期面試掀起了一波考演算法的風氣,就好像回到大學指考那樣,老師說這題會考一定要記起來,因此掀起了一股leetcode刷題的風潮,甚麼經典考題都要寫過一遍,剛開始...
剛開始,我想說點什麼 看過市面上許多解釋演算法的資料,有些書搭配圖片,有些影片淺顯易懂,為了挑戰自己以及將演算法了解透測,開始了這次的鐵人賽。 開始的時候,想要...
比對List和SortedList 比對容器 List SortedList 比較方法 資料放入容器的時間 演算法處理時間 開始測試 演算法 - Bin...
Youtube連結:https://bit.ly/3inN3zI 紅黑樹的新增觀念,涵蓋「旋轉」與「顏色」兩樣重要操作,總計共有四種新增處理狀況,並且彼此...
排序演算法在程式中是非常重要的以下會先來介紹三個基本的排序演算法 Bubble sort Insertion sort Selection sort Bub...
Recursion + Loop let array = [[["c",["a"]],[["bc"]...
接下來我們要來學習很重要的遞迴,接下來讓我們了解吧 函式呼叫自己 使用到Stack Fibonacci function Recursion(n){...