資料儲存方案 鄰接列表模式

2022-03-11 19:17:37 字數 597 閱讀 7149

在程式開發中,我們常遇到用樹型結構來表示某些資料間的關係,如企業的組織架構、商品的分類、操作欄目等,目前的關係型資料庫都是以二維表的形式記錄儲存資料,而樹型結構的資料如需存入二維表就必須進行schema設計。

adjacency list(鄰接列表模式)

簡單的說是根據節點之間的繼承關係,顯現的描述某一節點的父節點,從而建立二位的關係表。

表結構通常設計為,如下圖:

優點:結構簡單易懂,由於互相之間的關係只由乙個parent_id維護,所以增刪改都是非常容易,只需要改動和他直接相關的記錄就可以。

缺點:由於直接地記錄了節點之間的繼承關係,因此對tree的任何crud操作都將是低效的,這主要歸根於頻繁的「遞迴」操作,遞迴過程不斷地訪問資料庫,每次資料庫io都會有時間開銷。

鄰接表來儲存資料

includeusing namespace std 使用鄰接表來儲存圖,把m遠小於n 2的圖稱為稀疏圖 適合稀疏圖,可以把時間複雜度優化到o m n logn define maxn 9999 int n,m int u maxn v maxn w maxn first要比n大1,next要比n大...

Android資料儲存方案

android這個系統和其他的作業系統還不太一樣,我們需要記住的是,資料在android當中是私有的,當然這些資料報括檔案資料和資料庫資料以及一些其他型別的資料。那這個時候有讀者就會提出問題,難道兩個程式之間就沒有辦法對於資料進行交換?android這麼優秀的系統不會讓這種情況發生的。解決這個問題主...

Android資料儲存方案 檔案儲存

android中,檔案儲存方案也比較簡單,一般使用 fileoutputstream bufferedwriter寫入檔案,使用fileinputstream bufferedreader讀出檔案內容。不過,檔案是存放在 data data com.test files 資料夾下面。下面,我們看看示...