今天要來介紹一個非常重要的結構:Binary Tree。昨天說到,他可以最大化減少 Linking space 的浪費問題 何謂二元樹? 二元樹的定義為:可為空...
昨天我們介紹了二元樹的定義和它的種類,今天要來介紹如何走訪所有二元樹的節點 假設一棵二元樹之 root 為 D, 左子樹為 L, 右子樹為 R,則: 前序追蹤...
何謂二元搜尋樹(Binary Search Tree) 二元搜尋樹(Binary Search Tree, BST)是一顆 Binary Tree。可為空樹,若...
昨天說到,如果二元搜尋樹是 skewed tree 的話,那麼 insert / delete / search 有可能就會因此變成 O(n) 時間。因此,若能...
今天要來介紹新的結構,堆積(Heap) 何謂 Heap:以 Max-Heap 為例 Heap 是一棵 Binary Tree,可為空樹,若非空,則: 一定是...
今天要來介紹 heap 的 operation。一個 max-heap class 需要有的操作有: insert x delete max heapify(...
我們介紹完了 priority Queue,接著要介紹的是 "double-ended" priority Queue 除了有新增元素之外,...
今天要進入新的大主題:外部搜尋 何謂外部搜尋(External search) 指的是:資料量太大,沒辦法一次將所有資料 load 進 memory 進行搜尋,...
昨天介紹了 m-way search tree,也提到了他的大問題:有可能斜曲的問題。今天我們要把它平衡化,也就是 B-tree B-tree of order...
今天要來介紹 B-tree key 的新增及刪除操作 insert key X into B-tree of order m 步驟如下: 先 search X...