码迷,mamicode.com
首页 > 其他好文 > 详细

广度优先(BFS) ------- 模板1:-----模板2:--------模板3:

时间:2014-08-03 23:03:16      阅读:250      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   使用   os   for   art   

bubuko.com,布布扣
//使用数组queue[ ]存放结点队列
void   BFS( ) 
{   head=0; tail=1;  queue[head]=首结点的值;
     while (head<tail) //队列不空
     {    temp=tail;
          for (k=head; k<=tail; k++)  //对当前层扩展
          {      if  ( 到达目的状态 )    {      输出结果;   return;   }
                 for (i=1; i<=m; i++) //每个结点的m种扩展可能
                      if (可以扩展) 
                      {      处理每种可能情况; 
                              queue[temp++]=扩展出的结点值;
                      } 
         }
         head=tail;   tail=temp;
}
View Code

//使用数组queue[ ]存放结点队列
void   BFS( )
{   head=0; tail=1;  queue[head]=首结点的值;
     while (head<tail) //队列不空
     {    temp=tail;
          for (k=head; k<=tail; k++)  //对当前层扩展
          {      if  ( 到达目的状态 )    {      输出结果;   return;   }
                 for (i=1; i<=m; i++) //每个结点的m种扩展可能
                      if (可以扩展)
                      {      处理每种可能情况;
                              queue[temp++]=扩展出的结点值;
                      }
         }
         head=tail;   tail=temp;
}

 

 

 

 

 

 

bubuko.com,布布扣
//使用数组queue[ ]存放结点队列
void   BFS( ) 
{    head=0; tail=1;  
     queue[head]=首结点的值;
     while (head<tail)   //队列不空
     {     if  ( 到达目的状态 )    {      输出结果;   break;   }
            head++;
           for (i=1; i<=m; i++) //结点head的m种扩展可能
                      if (可以扩展) 
                      {      处理每种可能情况; 
                              queue[tail++]=扩展出的结点值;
                      } 
         }
}
View Code

 

//使用数组queue[ ]存放结点队列
void   BFS( )
{    head=0; tail=1; 
     queue[head]=首结点的值;
     while (head<tail)   //队列不空
     {     if  ( 到达目的状态 )    {      输出结果;   break;   }
            head++;
           for (i=1; i<=m; i++) //结点head的m种扩展可能
                      if (可以扩展)
                      {      处理每种可能情况;
                              queue[tail++]=扩展出的结点值;
                      }
         }
}

 

 

 

bubuko.com,布布扣
//使用STL中的队列
void   BFS( ) 
{   首结点入队列Q;
     while ( ! Q.empty() ) //队列不空
     {    temp=Q.front();    
          if  ( 到达目的状态 )     {      输出结果;   break;   } 
          Q.pop( );  
          for (i=1; i<=m; i++) //扩展结点temp的m种可能
                  if (可以扩展) 
                  {      处理每种可能情况; 
                         扩展出结点入队列;
                  } 
         }
}
View Code

 

//使用STL中的队列
void   BFS( )
{   首结点入队列Q;
     while ( ! Q.empty() ) //队列不空
     {    temp=Q.front();   
          if  ( 到达目的状态 )     {      输出结果;   break;   }
          Q.pop( ); 
          for (i=1; i<=m; i++) //扩展结点temp的m种可能
                  if (可以扩展)
                  {      处理每种可能情况;
                         扩展出结点入队列;
                  }
         }
}

 

广度优先(BFS) ------- 模板1:-----模板2:--------模板3:,布布扣,bubuko.com

广度优先(BFS) ------- 模板1:-----模板2:--------模板3:

标签:style   blog   http   color   使用   os   for   art   

原文地址:http://www.cnblogs.com/2014acm/p/3888869.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!