iT邦幫忙

資料結構相關文章
共有 29 則文章

技術 2018年入門python,推薦這樣幾本好書!

藉此問題,奉上初學者最好的Python學習書單! 編程入門 1、《「笨辦法學」Python3》 本書是基於Python 3.6版本編寫的。是一本Python入門...

鐵人賽 Software Development DAY 24

技術 [資料結構] 雜湊 (Hash)

很多人以為雜湊就是加密,但雜湊不是加密! 雜湊不是加密! 雜湊不是加密! 雜湊是因為他的特性很適合來做加密的運算,但真的不等同於加密! 雜湊 (Hash) 雜...

鐵人賽 Software Development DAY 12

技術 [資料結構] 二元樹走訪 (Binary Tree Traversal)

在介紹完了二元樹,今天就來談談二元樹讀取和儲存的方式。二元樹裏的資料其實不一定是依照大小或從左到右排序的,可能依照輸出的方式不同,結果也會不盡相同。 目前理論上...

鐵人賽 Software Development DAY 6

技術 [資料結構] 陣列 (Array) & 串列 (Linked List)

好啦,討論完幾個演算法後,還是得面對最重要的核心,資料結構。 (頓時有種醜媳婦見公婆的概念 該來的還是要來~) 其實資料在程式語言中有很多種型態,像是 int...

鐵人賽 Software Development DAY 14

技術 [資料結構] 堆積 (Heap)

堆積 (Heap),是一種特殊的完全二元樹,而堆疊不一樣,是完全不同的概念。 有分兩種,一種是最小堆積,另一種是最大堆積。 最小堆積 如下圖,完全二元樹所有的父...

鐵人賽 Software Development DAY 13

技術 [資料結構] 二元搜尋樹 (Binary Search Tree)

講了二元樹的走訪,接下來要進入搜尋了,尋找森林深處的密寶~ 先來說說 二元搜尋樹 (Binary Search Tree),又稱 有序二元樹 或 排序二元樹。如...

鐵人賽 Software Development DAY 11

技術 [資料結構] 二元樹 (Binary Tree)

接續昨天的樹。二元樹 (Binary Tree) 的特點就是每個節點最多有兩個兒子,或者是說每個節點最多有兩棵子樹。 二元樹中還有兩種特殊的種類: 滿二元樹...

技術 [完結] 總整理 + 後記

資料結構 Day 6 - 陣列 (Array) & 串列 (Linked List) Day 7 - 佇列 (Queue) Day 8 -...

鐵人賽 Software Development DAY 10

技術 [資料結構] 樹 (Tree)

分得出來兩張圖片的差別嗎? 第一張,我們稱為 樹 (Tree) ,第二張是所謂的迴路,屬於一般的無相圖。 樹有幾個特性: 不包含迴路。 一棵樹中的任意兩個...

鐵人賽 Software Development DAY 22

技術 [資料結構] 圖的深度優先走訪 (Depth-first Search )

昨天介紹了各式各樣的圖,今天就來討論圖的搜尋。 之前有提過深度優先搜尋,是用程式碼遞迴的概念,一層一層的我裡面找出所有可能。但之前的資料是線性的,那如果是圖的話...

鐵人賽 Software Development DAY 7

技術 [資料結構] 佇列 (Queue)

經過昨天介紹的 串列 (Linked List),今天來講一個串列的延伸,佇列 (Queue)。佇列一樣有著串列的特性,每一筆元素本身同時包含著下一筆元素的位置...

鐵人賽 Software Development DAY 8

技術 [資料結構] 堆疊 (Stack)

堆疊 (Stack) 的特性就是 先進後出 (First In Last Out, FILO)。舉個例子,比如說有一個長深桶子,我們依序放入大小剛好的 1 到...

鐵人賽 Software Development DAY 21

技術 [資料結構] 圖 (Graph)

圖 (Graph),在資料結構上指的是點和點之間的關聯的東西,並不是數學定義上的兩點成一線,三點成一面的那種圖。一張圖由數條邊(Edge)和數個點(Vertex...

鐵人賽 Software Development DAY 9

技術 [資料結構] 堆疊 (Stack) - 2

河內塔 (Tower of Hanoi) 其實也是個古老的題目,最常被用來解釋什麼叫做堆疊。 河內塔最早發明這個問題的人是法國數學家愛德華·盧卡斯。 傳說越南...

鐵人賽 Software Development DAY 23

技術 [資料結構] 圖的廣度優先走訪 (Breadth-first Search)

昨天有深度,今天有廣度,人生難過沒法度~ (好難笑...呵呵) 今天就用這張圖來開啟主題。 這是一個無向圖,比較接近現實中的地圖。今天我們要從 1 號城市搭飛...

技術 資料結構(一)變數、陣列、鏈結串列差別在哪?

最近在學資料結構,在忘記以前寫文來加深印象,目標在今年看完這本書。 【大綱】 前言 變數 陣列 鏈結串列 閒談 【前言】 將記憶體看作是一家餐廳, 客人離場...

技術 資料結構(二)用鏈結串列儲存陣列資料

這是一個很特別儲存方式,要是沒有讀資料結構,我也不會認識它。基礎語法裡會有教Array,但鏈結串列Liked List就沒有了。 【大綱】 鏈結串列組成 陣列...

技術 資料結構(三)C語言要先宣告陣列大小

Python不用事先宣告陣列大小,但C語言中就要先宣告才能使用,這讓我產生疑惑。 【大綱】 前言 為什麼c語言不能直接增加 總結 【前言】 有多少人用餐入座...

技術 資料結構 鏈結串列(Linked List)

單向鏈結串列(Singly Linked List) 用c++實作 #include <iostream> using namespace std;...

技術 資料結構(四)鏈結串列四種型態

用圖片說明鏈結串列四種型態,講解「環狀與非環狀」、「單向與雙向」的好處。 【大綱】 鏈結串列型態 環狀與非環狀 單向與雙向 總整理 【鏈結串列型態】 前面資...

技術 資料結構(五)鏈結串列常見運算-1

鏈結串列修改運算跟陣列比較起來,麻煩了許多,首先要做的就是移動工作節點。 【大綱】 移動工作節點 修改運算 鏈結串列vs陣列 閒談 【移動工作節點】 工作節...

技術 資料結構(六)鏈結串列常見運算-2

鏈結串列的插入運算和刪除運算,這些基礎還算好理解,後面要跨好幾頁的程式碼就有點複雜。 【大綱】 插入運算 刪除運算 閒談 【插入運算】 印象中有做過,可是翻...

技術 資料結構 堆疊(Stack)

堆疊(Stack)是一種Last-In-First-Out的資料結構 最晚進入Stack的資料會最先被取出 最早進入Stack的資料則最晚被取出 簡單來說就是像...

技術 資料結構(七)鏈結串列常見運算-3(總整理)

關於前面文章總整理,將一篇文章濃縮在一張投影片,不過文章還是很長。 【總整理】 變數、陣列、鏈結串列 鏈結串列抽象示意圖 不同語言間使用陣列狀況 四種鏈結串列...

技術 資料結構(八)鏈結串列程式實作-1指標

先了解指標和陣列用法,對鏈結串列程式實作會很有幫助。 【大綱】 鏈結串列前置 指標是門牌號碼 指標程式實作 總結 參考: 簡單搞懂指標作者hackgrass...

技術 資料結構(十)鏈結實作-3使用同一組宣告(結構)

標題太長會斷行看起來有點怪,之後「鏈結串列程式實作」縮成「鏈結實作」。同一支程式會重複使用,可以用迴圈來執行,那同一組宣告呢? 【大綱】 同一支程式 同型態宣...

技術 資料結構 佇列(Queue)

佇列(Queue)是一種First-In-First-Out的資料結構 如同字面上意思,就像排隊買票的隊列一樣 先買完票的人才能先出去,進來後面排隊的人要等到前...

技術 資料結構(九)鏈結串列程式實作-2指標會儲存位址

【大綱】 程式碼觀察 圖片解說 假設指標存指標 推薦02_陣列與指標關係作者藍影 Array[i]=*(Array+i); 這句話很好懂 【程式碼觀察】...

技術 資料結構(十一)鏈結實作-4宣告節點之前

要先宣告結構再搭配指標,就是一個節點。 【大綱】 結構宣告順序 結構搭配指標 程式碼 閒談 【結構宣告順序】 參考:結構的對齊裡面的圖說很清楚 結構裡宣告先...