剛開始,我想說點什麼 看過市面上許多解釋演算法的資料,有些書搭配圖片,有些影片淺顯易懂,為了挑戰自己以及將演算法了解透測,開始了這次的鐵人賽。 開始的時候,想要...
今天來聊聊,空間複雜度(Space Complexity) 空間複雜度,空間指的是在執行程式碼時所耗費的記憶體容量。空間複雜度與時間複雜度的表示方式相同,都用B...
什麼是資料結構? 前一天有提到空間複雜度(Space Complexity),簡單的複習一下,空間複雜度指的是記憶體的使用效率。今天開始談到的資料結構,是可以有...
閒話家常 今天來到了鐵人賽的第四天了,我們繼續來聊聊資料結構,秉持著一天弄懂一個觀念,相信30天的鐵人賽後,就會和30天前的自己不一樣。 什麼是陣列(Arra...
聊聊堆疊(Stack) 堆疊是一種後進先出(Last In First Out)(LIFO)的資料結構,換句話說,堆疊就是將數據排成一列,由下往上堆放文件,只能...
前言 今天聊到了佇列(queue)這種資料結構,佇列和Day5所提到的堆疊常放在一起看,他們的操作方式類似,但特性稍微有一點點的不同。 佇(ㄓㄨˋ)列(que...
雜湊表,我需要那個酷東西 在線性資料結構中,若要找一個資料,花費的時間複雜度為O(n),或是可以選擇節省時間,但是耗費記憶體容量。若是兩者都不想選,那就需要Ha...
談談堆積(Heap)吧! 今天來談談堆積(Heap)吧!堆積是一種特別的二元樹(Binary tree),那什麼又是二元樹?讓我們一個一個來解析。 二元樹(B...
何謂「排序(Sort)」? 排序是指一組資料中,將資料以「由大到小」或「由小到大」的方式重新排列。常見的排序演算法有下列幾種: 氣泡排序法(Bubble So...
選擇排序(Select Sort) 選擇排序是重複進行「將數列中最小值,與左邊的值對調」,一直保持由小到大的數列。 選擇排序法使用線性搜尋(Linear Sea...