数据结构之图的存储结构——静态建表(链式前向星)
来源:互联网 发布:电力概预算软件 编辑:程序博客网 时间:2024/04/28 03:06
邻接表的静态建表存储图的凡是也称链式前向星。链式前向星方法最开始是基于前向星,是以提高其构造效率为目的设计的存储方式,最终形成的数据却是一个变形的邻接表。
链式前星采用数组模拟链表的方式实现邻接表的功能,并且使用很少的额外空间,可以说是目前建图和遍历效率最高的存储方式。
head数组存储描述点Vi边信息的链的起点在Edges数组的位置。构造链式前向星就是将新加入的节点链在对应链的最开始并修改head数组的对应位置的值。
这种方法的建图效率非常搞,读入结束,建图就结束,而且没有内存管理
#include<iostream.h>#include<stdlib.h>#include<string.h>const int n=100;const int m=10;int head[n]; //存储描述点Vi边信息的链的起点在Edges数组的位置。//数据结构//***************************************struct EdgeNode{int to;//终点int w;//权值int next; //指向下一条边};EdgeNode Edges[m+1];//***************************************//信息存储int main(){int i,j,w;int k;memset(Edges,0,sizeof(Edges)); //从1开始存,故初始化为0 ,若要从0开始存,则应该初始化为-1;//**************************************//信息存储代码for(k=1;k<=10;k++) //k表示当前输入的第k条边{cin>>i>>j>>w;Edges[k].to=j;Edges[k].w=w;Edges[k].next=head[i]; head[i]=k;}//*************************************//遍历代码for(i=1;i<=n;i++) //对每个起点进行判断,如果next不为0则肯定有边{for(int t=head[i];t!=0;t=Edges[t].next)//head[i]表示以第i个顶点为起点, 搜索,直到指向下一条边的next为0则寻找下一顶点cout<<i<<' '<<Edges[t].to<<' '<<Edges[t].w<<endl;}//************************************return 0;}
- 数据结构之图的存储结构——静态建表(链式前向星)
- 图的存储结构——静态建表(链式前向星)
- 图的存储三部曲——其三:静态建表(链式前向星)
- 图的(链式)前向星存储结构
- 图的存储结构---(*链式前向星*)
- 数据结构之图的存储结构_前向星
- 图的链式前向星存储结构
- 图的存储之链式前向星
- 【链式前向星】(静态建邻接表)
- 图的储存结构(*链式前向星)
- 图的存储(链式前向星)
- 图的存储(链式前向星)
- 链式前向星|前向星|STL中vector模拟链表(图的存储)
- 图的常用存储结构——前向星
- 【算法】链式前向星的静态链表实现
- 数据结构介绍——链式前向星
- 【数据结构】链式前向星
- dp+搜索(图,链式前向星存储)-1
- 心情很乱
- Ubuntu下硬盘的自动挂载
- C#闭包了解
- Oracle 11g导出来的dmp导入到 10g的数据库(IMP-00010:不是有效的导出文件,头文件验证失败)
- XP下asp.net+iis5.1 显示:服务器应用程序不可用 解决
- 数据结构之图的存储结构——静态建表(链式前向星)
- 关于问题vxworks与linux区别
- 值类型总是分配在栈上吗?
- Oracle游标使用
- 二十四点算法
- OCP-1Z0-053-V12.02-534题
- 闭包
- PHP Date |AND| Explode |AND| Find If String Contains a String
- 似然估计和极大似然估计应用