求PASCAL鄰接表和鄰接矩陣的具體用法

2022-06-15 07:05:06 字數 749 閱讀 4727

1樓:匿名使用者

鄰接矩陣a[i,j] 表示點i,j之間的路程,如果任意i,j都有a[i,j]=a[j,i]那麼這個圖就是乙個無向圖。

鄰接表a[i],a[i]表示乙個連結串列,裡面依次儲存每個和i相連的點k,i,k的距離,和next;如用.data .n .

next 分別表示這個點的編號,這個點到i的距離和連線下乙個位址。一般還要用乙個head陣列來表示每個點的首位址,我簡要寫一下: if head[i]=nil then begin new(a[i]);讀入相關資料;head[i]=a[i];new(a[i]^.

next);end else begin 讀入資料;new(a[i]^.next);end;

要用的時候只要對首位址head[i]進行處理就行了。

一般來說,鄰接矩陣的複雜度較低,鄰接表的空間利用率比較高。所以一般的題目資料不大可以用鄰接矩陣來編寫,易除錯編寫也方便,只有在資料比較大鄰接矩陣會爆記憶體的時候才不得不用鄰接表。

2樓:洗頭_用醬油

鄰接表一般用於線多點少的圖,連結串列一般用於點多線少的圖。不過都相對複雜。如果資料不大,一般在5000個點以內就可以用鄰接矩陣。

鄰接矩陣就是二維陣列map[i,j]表示i節點與j節點是否相連,如果直接相連那麼map[i,j]就等於它們的距離,否則就等於乙個很大的值,但是不能用maxlongint,因為這樣很容易棧溢位。

鄰接表用於邊很多的情況,操作方法類似於連結串列。一般來說掌握鄰接矩陣的連結串列儲存的方法對於noip就足夠了。

具有n個頂點 e條邊的圖採用鄰接表儲存結構,進行深度優先遍歷和廣度優先遍歷運算的時間複雜度均為

答案是o n e 但是鄰接表裡面不是每個邊被儲存兩次嗎,為什麼不是n 2e呢?在大o表示法中o n 2e 通常應表示為o n e 已知乙個有向圖如圖,請分別寫出從頂點a出發進行深度優先遍歷和廣度優先遍歷所得到的頂點序列及生成樹。深度 abdcefigh 廣度 abcdefghi dfs depth ...

明星群求職表和職位,求明星群的求職表和職位!QQ群!

首先群眾演員不用應聘,你遇到的要你交 的百分百是假中介公司,哪是收錢騙錢的,這行的詳細情況是,網招全是假影視公司招群眾演員的,基本上九成以上是假中介,收報明費和照像費的 公司,真的影視公司都簽約二三線藝人絕對不招群眾演員。入職,是人家公司要你了啦,進入公司後你的上崗申請,申請,是你要從這個崗位調整到...

急求資產負債表和利潤表怎麼填,急求 資產負債表和利潤表怎麼填

編制資產負債表和利潤表前首先做賬主要有以下幾個步驟 1 首先根據原始的票據編制記賬憑證。2 接著再審核憑證。3 然後再做登記總賬和明細賬,總賬和明細賬核對相符。4 最後根據總賬的結果編制報表。什麼是資產負債表 資產負債表表示企業在一定日期 通常為各會計期末 的財務狀況 即資產 負債和業主權益的狀況 ...