總的來說有以下三種方式:
鍊錶:
//儲存結構
struct node
; node *head[m];
//新增乙個有向邊
void addadj(int u,int v)
//遍歷
for(node *p=head[u];p!=null;p=p->next)
int v=p->vex;//連線u的結點v
//初始化
memset(head,null,sizeof(head));
鏈式前向星:(有點兒靜態鍊錶意思)
//儲存結構
struct edge
edge[m];
int head[m];
int cnt=0;
//新增乙個有向邊
void add(int u,int v)
//遍歷
for(int i=head[u];~i;i=edge[i].next)
int v=edge[i].to;
//初始化
memset(head,-1,sizeof(head));
stl庫:
//儲存結構
vectornode[m];
//新增乙個有向邊
node[u].push_back(v);
//遍歷
for(int i=0;i
鄰接表來儲存資料
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大...
陣列模擬鄰接表儲存
鄰接矩陣看上去是個不錯的選擇,首先是容易理解,第二是索引和編排都很舒服但是我們也發現,對於邊數相對頂點較少的圖,這種結構無疑是存在對儲存空間的極大浪費。因此我們可以考慮另外一種儲存結構方式,例如把陣列與鍊錶結合一起來儲存,這種方式在圖結構也適用,我們稱為鄰接表 adjacencylist 每乙個單鏈...
iOS儲存的幾種方式
1.寫檔案 nsdata dat nsdata alloc initwithcontentsofurl nsurl urlwithstring imageurl nsstring documents nsstring stringwithformat documentdataf dat writet...