第6章學習小結

2022-07-25 06:45:11 字數 1133 閱讀 4946

第六章學習了圖的有關儲存結構和遍歷,

圖乙個區別於線性表和樹結構的又一大資料結構,乙個圖就是一些頂點的集合,這些頂點通過一系列邊連線,邊可以有權重,圖的應用很廣泛,我們可以用圖表示路線,表示流程等,所以我們在建立圖的過程中需要考慮清楚圖的儲存結構。

鄰接矩陣定義:

typedef struct

amgraph;

鄰接表:

typedef struct

arcnodearcnode;

typedef struct vnodevnode;

對整張圖而言的:

typedef struct

algraph;

圖的遍歷包括深度優先搜尋和廣度優先搜尋。

在注作業中這道題要求用dfs和bfs列出圖的連通集,在本題中,因為元素個數較少,我將圖用鄰接矩陣儲存,書寫**較方便。

深搜遍歷類似於樹的先序遍歷,同樣也運用了遞迴:

廣搜與圖的儲存結構無關,類似樹的層次遍歷,利用棧來進行橫向搜尋:

void dfs(int i){//從第0個頂點深搜圖

int j;

coutqueueq;

q.push(i);

vi2[i]=true;

while(!q.empty())

{ int t=q.front();

cout《在本題中,用到了兩個標記陣列vi1和vi2,分別用來判斷dfs和bfs中結點是否已被遍歷,如果只用乙個標記陣列會導致深搜完之後,vi陣列全部為true,廣搜無法進行,這是這道題的易錯點之一,我一直卡住這個地方,最後只能求助於,像其學習。

最小生成樹在我們生活中應用十分廣泛,可以解決城市路線規劃問題,生產流程問題等等,跟著老師學習,比較清楚地學習普里姆演算法和克魯斯卡演算法,了解這兩種演算法的思想,並能根據這種思想畫出二叉樹,但要真正理解其中的一步步流程及判斷各種是否生成邊的條件還需要深入思考。這一章對於點和邊的定義較多,離開書本還是很難寫出**,希望能在不斷練習中掌握。

反思:在老師交代的限時作業中,還是很難順利下手,得跟著老師的步驟一步一步地來,才能完成好作業,我覺得這應該還是對老師講的內容沒有完全搞懂:

老師的題目裡經常有坑,我已經踩了好幾次,這些坑是需要非常注意的,需要重視。

第6章 小結

在這一章,你學習了如何為應用程式新增儲存層。一開始,使用儲存和恢復例項狀態處理函式來在會話期間儲存 activity 的例項資料,之後,學習了 sharedpreference 你可以使用它在程式的元件間儲存例項的值和使用者的設定。android 為所有的應用程式提供了完整的 sqlite rdbm...

第4章學習小結

第四章講的是串,陣列和廣義表,在做題過程中,逐漸發現stl中string的強大 下乙個目標,熟悉string的函式 天梯賽l1 8 估值一億的ai核心 這題也終於打出來了,心得是要盡量劃分層次,思路要清晰,嚴謹,多寫幾個判斷函式是完全沒問題的 努力習慣中.ac 原題 include include ...

第7章學習小結

一 線性表的查詢 1 順序查詢 typedef keytype int 這個根據具體情況去定義 在這裡定義為int typedef structelemtype typedef struct sstable 查詢過程 按順序乙個乙個比對,直到找到為止 若全部對比完都沒找到,則意味著查詢失敗。設定哨兵...