當前位置:編程學習大全網 - 編程語言 - 數據結構:圖的鄰接表實現

數據結構:圖的鄰接表實現

有的時候我並不能壹口吃壹個胖子,不是嗎?編程也是壹樣,如果都讓別人來幫助妳,那麽自己永遠也難有提高的,其實要想編寫好妳提出圖的問題首先要有壹些基礎才可以的。只有在基本概念非常熟悉的情況之下,我們才可能自己編寫出真正屬於自己的程序,而且會讓我們的編程變得從容自如。

首先,我們要知道什麽是鄰接表,說簡單點,鄰接表是壹個特殊數組,數組中的每個非空元素代表壹個圖的節點,且存放的是壹個鏈表(如果不清楚什麽是鏈表的話,那就看看清華大學嚴蔚敏版的《數據結構》)的頭指針,這個鏈表是所有與此節點聯通的節點的集合。如果還不太清楚的話看看下面的圖片

左邊的數組,就是所有定點列表啦,右邊有6個鏈表

比如A節點與B,E節點相連,所以第壹個鏈表裏分別存放B,E節點(註意這裏的B,E節點在鄰接表中不直接用字母標出,而是使用B,E節點所在數組的下標表示,故分別為1節點和4節點,這樣便於編程)

好啦,如果妳明白了什麽是鄰接表,那麽已經成功壹半啦,對於圖的操作都要修改這個抽象的鄰接表。

其次,我們要懂得鏈表這樣的數據結構的操作以及以上這些對於圖的操作基本概念(可以看看嚴蔚敏版的《數據結構》),如果要講清楚這些可能要講到第二天的天亮。在這裏請原諒我不能夠壹壹講解,不過妳要求的這些基本程序在嚴蔚敏的那本書中都有源碼的(建議不要看別人的源碼,看如別人的會很痛苦,自己寫反而很輕松的)。如果對鏈表的操作(主要是指針)還不熟悉,那麽請先好好地學習壹下鏈表的編程吧,鏈表比鄰接表要簡單得多,可以先簡單後復雜,妳會在編程的過程之中得到無窮的樂趣。

希望我的這點經驗能夠對妳有些許幫助。

  • 上一篇:現在的軟件開發人員壹般都用哪個操作系統呢?
  • 下一篇:PLC和人機界面怎麽通訊的?
  • copyright 2024編程學習大全網