数据结构邻接矩阵的广度优先遍历,采用邻接矩阵存储的图的深度优先遍历

  数据结构邻接矩阵的广度优先遍历,采用邻接矩阵存储的图的深度优先遍历

  数据结构中用邻接矩阵方式储存图,广度优先,深度优先遍历- python - ITeye技术网站

  数据结构中用邻接矩阵方式储存图,广度优先,深度优先遍历

  博客分类:c语言数据结构J#以下是作业,用它用实现用邻接矩阵的方式来进行广度优先和深度优先的遍历。

  代码比较简单,用了两个小时来写出来。

  /**用邻接矩阵的方式来储存图,用广度优先方式进行遍历**/

  C代码# include stdio。h # define max _ matrix 10 int visited[max _ matrix],matrix[max _ matrix][max _ matrix];int nint board _ traverse();intmain(){inti,j;scanf(%d ,if(n 1){ printf( n必须是1 \ n );退出(0);} if(n max _ matrix){ printf( nmustbe % d \ n ,max _ matrix);退出(0);} for(I=0;I I){ visited[I]=0;for(j=0;j j)矩阵[I][j]=0;}while(scanf(%d%d ,I,j){ matrix[I-1][j-1]=1;} for(I=0;I I){ for(j=0;j j )printf(%d ,matrix[I][j]);printf( \ n );} printf( 1 );board _ traverse(0);}intboard_traverse(){inttemp,I,j,ma_j,ma _ I;for(ma _ I=0;ma _ I ma _ I)for(ma _ j=ma _ I;ma _ j ma _ j)if(matrix[ma _ I][ma _ j]visited[ma _ j]==0){ printf( % d ,ma _ j 1);visited[ma _ j]=1;}}#include stdio.h

  #定义max_matrix 10

  (同Internationalorganizations)国际组织访问了[max_matrix],matrix[max _ matrix][max _ matrix];

  int n;

  int board _ traverse();

  int main()

  int i,j;

  scanf(%d ,

  如果(北^ 1)

  printf(n必须是1 \ n’);

  退出(0);

  if (n max_matrix)

  printf(n必须是%d\n ,max _ matrix);

  退出(0);

  for(I=0;我我)

  visited[I]=0;

  for(j=0;j j)

  矩阵[I][j]=0;

  while (scanf(%d %d ,I,j)==2)

  矩阵[I-1][j-1]=1;

  for(I=0;我我)

  for(j=0;j j)

  printf(%d ,matrix[I][j]);

  printf( \ n );

  printf( 1 );

  board _ traverse(0);

  int board_traverse()

  int temp,I,j,ma_j,ma _ I;

  for(ma _ I=0;妈妈我妈妈我)

  for(ma _ j=ma _ I;ma_j ma_j)

  if(矩阵[ma_i][ma_j]访问了[ma_j]==0)

  printf(%d ,ma _ j 1);

  visited[ma _ j]=1;

  }/**用邻接矩阵的方式来储存图,用深度优先方式进行遍历**/

  C代码# include stdio。h # define max _ matrix 10 int visited[max _ matrix],matrix[max _ matrix][max _ matrix];int nint deep _ traverse(int);intmain(){inti,j;scanf(%d ,if(n 1){ printf( n必须是1 \ n );退出(0);} if(n max _ matrix){ printf( nmustbe % d \ n ,max _ matrix);退出(0);} for(I=0;I I){ visited[I]=0;for(j=0;j j)矩阵[I][j]=0;}while(scanf(%d%d ,I,j){ matrix[I-1][j-1]=1;} for(I=0;I I){ for(j=0;j j )printf(%d ,matrix[I][j]);printf( \ n );} printf( 1-);deep _ traverse(0);} int deep _ traverse(intma _ I){ int temp,I,j,ma _ j;ma _ j=ma _ I;while(ma _ j n){ if(matrix[ma _ I][ma _ j]visited[ma _ j]==0){ printf( % d-,ma _ j 1);visited[ma _ j]=1;deep _ traverse(ma _ j);} ma _ j;}}

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • mysql复合索引和组合索引,mysql组合索引数据结构
  • mysql复合索引和组合索引,mysql组合索引数据结构,Mysql之组合索引方法详解
  • mysql复合索引和组合索引,mysql复合索引数据结构
  • mysql复合索引和组合索引,mysql复合索引数据结构,MySQL的复合索引总结
  • b+树 多路搜索树,数据结构中树的分类
  • b+树 多路搜索树,数据结构中树的分类,数据结构-树(三):多路搜索树B树、B+树
  • avl树的构造,avl树特性,数据结构之AVL树详解
  • 数据结构c语言哈夫曼树,c语言哈夫曼树的构造,使用C语言详解霍夫曼树数据结构
  • c语言数据结构算法编程库,数据结构 c语言中文网
  • c语言数据结构算法编程库,数据结构 c语言中文网,C语言编程数据结构基础详解小白篇
  • c++纸牌游戏,数据结构纸牌游戏c语言
  • c++纸牌游戏,数据结构纸牌游戏c语言,C语言实战之纸牌游戏
  • ,,c#解析jobject的数据结构
  • ,,javascript数据结构之多叉树经典操作示例【创建、添加、遍历、移除等】
  • ,,Java 数据结构与算法系列精讲之背包问题
  • 留言与评论(共有 条评论)
       
    验证码: