资源简介
全集内容结构如下:
├─图
│ ├─关键路径(有向无环图及其应用2)
│ │ 1.txt
│ │ ALGraph.cpp
│ │ ALGraph.h
│ │ CriticalPath.cpp
│ │ CriticalPath.h
│ │ InfoType.cpp
│ │ InfoType.h
│ │ LinkList.cpp
│ │ LinkQueue.cpp
│ │ LinkQueue.h
│ │ Main.cpp
│ │ SqStack.cpp
│ │ SqStack.h
│ │ Status.h
│ │ VertexType.cpp
│ │ VertexType.h
│ │
│ ├─图的关节点
│ │ 1.txt
│ │ ALGraph.cpp
│ │ ALGraph.h
│ │ FindArticul.cpp
│ │ FindArticul.h
│ │ InfoType.cpp
│ │ InfoType.h
│ │ LinkList.cpp
│ │ LinkQueue.cpp
│ │ LinkQueue.h
│ │ main.cpp
│ │ Status.h
│ │ VertexType.cpp
│ │ VertexType.h
│ │
│ ├─图的数组表示法
│ │ InfoType.cpp
│ │ InfoType.h
│ │ Main.cpp
│ │ MGraph.cpp
│ │ MGraph.h
│ │ Status.h
│ │ VertexType.cpp
│ │ VertexType.h
│ │
│ ├─图的遍历
│ │ ALGraph.cpp
│ │ ALGraph.h
│ │ DEBUG.txt
│ │ InfoType.cpp
│ │ InfoType.h
│ │ LinkList.cpp
│ │ LinkQueue.cpp
│ │ LinkQueue.h
│ │ Main.cpp
│ │ MGraph.cpp
│ │ MGraph.h
│ │ MTraverse.cpp
│ │ MTraverse.h
│ │ Status.h
│ │ t1.txt
│ │ t2.txt
│ │ VertexType.cpp
│ │ VertexType.h
│ │
│ ├─图的邻接表存储结构
│ │ ALGraph.cpp
│ │ ALGraph.h
│ │ InfoType.cpp
│ │ InfoType.h
│ │ LinkList.cpp
│ │ LinkQueue.cpp
│ │ LinkQueue.h
│ │ Main.cpp
│ │ Status.h
│ │ t1.txt
│ │ t2.txt
│ │ VertexType.cpp
│ │ VertexType.h
│ │
│ ├─最短路径(从某个源点到其余各顶点的的最短路径)
│ │ 1.txt
│ │ 2.txt
│ │ InfoType.cpp
│ │ InfoType.h
│ │ Main.cpp
│ │ MGraph.cpp
│ │ MGraph.h
│ │ ShortestPath_DIJ.cpp
│ │ ShortestPath_DIJ.h
│ │ Status.h
│ │ VertexType.cpp
│ │ VertexType.h
│ │
│ └─最短路径(每一对顶点间的最短路径)
│ 1.txt
│ 2.txt
│ InfoType.cpp
│ InfoType.h
│
代码片段和文件信息
#include “ALGraph.h“
int LocateVex(ALGraph GVertexType u)
{//返回顶点在图中的位置
int i;
for (i = 0; i < G.vexnum; ++i)
{
if (strcmp(G.vertices[i].data.nameu.name) == 0)
{
return i;
}
}
return -1;
}
void CreateGraph(ALGraph &G)
{
int ijk;
VertexType v1v2;
ElemType e;
char s[4] = “边“;
printf(“请输入图的类型(有向图:0 有向网:1 无向图:2 无向网:3)“);
scanf(“%d“&G.kind);
if (G.kind < 2)
{
strcpy(s“弧“);
}
printf(“请输入图的顶点数,%s数:“s);
scanf(“%d%d“&G.vexnum&G.arcnum);
printf(“请输入%d个顶点的值(名称<%d个字符):\n“G.vexnumMAX_NAME);
for (i = 0; i < G.vexnum; ++i)
{
Input(G.vertices[i].data);
G.vertices[i].firstarc = NULL;//初始化
}
printf(“请输入%d条%s的“G.arcnums);
switch (G.kind)
{
case DG:printf(“弧头 弧尾:\n“);
break;
case DN:printf(“弧尾 弧头 弧的信息:\n“);
break;
case UDG:printf(“顶点1 顶点2:\n“);
break;
case UDN:printf(“顶点1 顶点2 边的信息:\n“);
break;
}
for (k = 0; k < G.arcnum; ++k)
{
scanf(“%s%s“v1.namev2.name);
i = LocateVex(Gv1);
j = LocateVex(Gv2);
e.info = NULL;//待插入的表结点的数据域赋值,设图无弧(边)信息
if (G.kind % 2)//网
{
InputArc(e.info);
}
e.adjvex = j;//待插入的表结点的数据域赋值
ListInsert(G.vertices[i].firstarc1e);//插在第i个顶点的表头
if (G.kind >= 2)//无向图或网,产生第2个表结点,并插入在第j个顶点的表头
{
e.adjvex = i;
ListInsert(G.vertices[j].firstarc1e);
}
}
}
void CreateFromFile(ALGraph &Gchar *filename)
{
int ijk;
VertexType v1v2;
ElemType e;
FILE *f;
f = fopen(filename“r“);
fscanf(f“%d“&G.kind);
fscanf(f“%d“&G.vexnum);
for (i = 0; i < G.vexnum; ++i)
{
InputFromFile(fG.vertices[i].data);
G.vertices[i].firstarc = NULL;
}
fscanf(f“%d“&G.arcnum);
for (k = 0; k < G.arcnum; ++k)
{
fscanf(f“%s%s“v1.namev2.name);
i = LocateVex(Gv1);
j = LocateVex(Gv2);
e.info = NULL;
if (G.kind%2)
{
InputArcFromFile(fe.info);
}
e.adjvex = j;
ListInsert(G.vertices[i].firstarc1e);
if (G.kind >= 2)
{
e.adjvex = i;
ListInsert(G.vertices[j].firstarc1e);
}
}
fclose(f);
}
VertexType GetVex(ALGraph &Gint v)
{
if (v >= G.vexnum || v < 0)
{
exit(OVERFLOW);
}
return G.vertices[v].data;
}
Status PutVex(ALGraph &GVertexType vVertexType value)
{
int k = LocateVex(Gv);
if (k != -1)
{
G.vertices[k].data = value;
return OK;
}
return ERROR;
}
int FirstAdjVex(ALGraph Gint v)
{
ArcNode *p = G.vertices[v].firstarc;
if (p)
{
return p->data.adjvex;
}
return -1;
}
Status EqualVex(ElemType aElemType b)
{
if (a.adjvex == b.adjvex)
{
return OK;
}
else
{
return ERROR;
}
}
int NextAdjVex(ALGraph Gint vint w)
{
linkList pp1;
ElemType e;
e.adjvex = w;
p = Point(G.vertices[v].firstarceEqualVexp1);
if (!p || !p->nextarc)
{
return -1;
}
return p->nextarc->data.adjvex;
}
void InsertVex(ALGraph &GVertexType v)
{
G.vertices[G.vexnum].data = v;
G.vertices[G.vexnum].firstarc = NULL;
G.vexnum++;
}
Status InsertArc(ALG
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2012-11-27 20:29 数据结构\
目录 0 2012-11-27 20:24 数据结构\图\
目录 0 2012-11-27 20:15 数据结构\图\关键路径(有向无环图及其应用2)\
文件 98 2012-10-14 13:23 数据结构\图\关键路径(有向无环图及其应用2)\1.txt
文件 7057 2012-10-10 08:59 数据结构\图\关键路径(有向无环图及其应用2)\ALGraph.cpp
文件 2493 2012-10-02 08:11 数据结构\图\关键路径(有向无环图及其应用2)\ALGraph.h
文件 3752 2012-10-14 14:26 数据结构\图\关键路径(有向无环图及其应用2)\CriticalPath.cpp
文件 173 2012-10-14 13:19 数据结构\图\关键路径(有向无环图及其应用2)\CriticalPath.h
文件 535 2012-10-14 12:05 数据结构\图\关键路径(有向无环图及其应用2)\InfoType.cpp
文件 312 2012-10-14 12:05 数据结构\图\关键路径(有向无环图及其应用2)\InfoType.h
文件 2730 2012-10-02 08:01 数据结构\图\关键路径(有向无环图及其应用2)\li
文件 1784 2012-05-27 16:25 数据结构\图\关键路径(有向无环图及其应用2)\li
文件 717 2012-10-01 20:33 数据结构\图\关键路径(有向无环图及其应用2)\li
文件 182 2012-10-14 13:32 数据结构\图\关键路径(有向无环图及其应用2)\Main.cpp
文件 1272 2012-10-09 14:27 数据结构\图\关键路径(有向无环图及其应用2)\SqStack.cpp
文件 660 2012-10-10 08:54 数据结构\图\关键路径(有向无环图及其应用2)\SqStack.h
文件 699 2012-09-03 13:01 数据结构\图\关键路径(有向无环图及其应用2)\Status.h
文件 311 2012-10-14 12:01 数据结构\图\关键路径(有向无环图及其应用2)\VertexType.cpp
文件 218 2012-10-14 12:01 数据结构\图\关键路径(有向无环图及其应用2)\VertexType.h
目录 0 2012-11-27 20:14 数据结构\图\图的关节点\
文件 121 2012-10-08 17:10 数据结构\图\图的关节点\1.txt
文件 7068 2012-10-09 14:45 数据结构\图\图的关节点\ALGraph.cpp
文件 2493 2012-10-02 08:11 数据结构\图\图的关节点\ALGraph.h
文件 1907 2012-10-08 17:45 数据结构\图\图的关节点\FindArticul.cpp
文件 381 2012-10-08 17:22 数据结构\图\图的关节点\FindArticul.h
文件 420 2012-09-30 17:33 数据结构\图\图的关节点\InfoType.cpp
文件 264 2012-09-30 16:19 数据结构\图\图的关节点\InfoType.h
文件 2730 2012-10-02 08:01 数据结构\图\图的关节点\li
文件 1784 2012-05-27 16:25 数据结构\图\图的关节点\li
文件 717 2012-10-01 20:33 数据结构\图\图的关节点\li
文件 699 2012-09-03 13:01 数据结构\图\图的关节点\Status.h
............此处省略391个文件信息
相关资源
- 基于小波变换的心电信号去噪算法.
- 计算方法程序题计算方法程序题
- 算法导论 第三版 中文版 电子版 完整
- 数据结构课程设计 迷宫求解 源码
- 计算机专业人工智能遗传算法实验报
- 基于遗传算法的电力系统无功优化程
- 8、停车场管理数据结构课程设计源程
- F5隐藏算法程序
- DES加密算法的verilog程序
- 应用蚁群算法的WSN路由算法
- 光线跟踪算法-Phong
- 24to8Colors.zip
- GA-PLS 遗传算法部分最小二乘
- ls信道估计算法
- ECC加密算法实现C源码
- 狄杰斯特拉最短路径算法实现
- 各种运动估计算法代码
- 遗传算法——最短路径问题
- 基于微分同胚的Demons配准算法
- 作业遗传算法解决Max f (x1 x2) =
- 基于鱼群算法优化BP神经网络
- 算法导论第二版中文版
- ICA算法源代码
- 支持向量机SVM多分类算法实现
- 劈窗算法的IDL代码Landsat数据反演地表
- 机器学习西瓜分类贝叶斯算法详解
- 多目标粒子群算法求解多目标多约束
- 基于Cascade的车牌检测文件 haar算法输
- 基于蚁群算法的机器人路径规划源码
- 粒子群优化算法优化CEC基准测试函数
评论
共有 条评论