BFS 를 배 운 후의 작은 노트 와 위조 코드 를 적어 주세요.

1533 단어 노트
BFS, 전 칭 Breadth First Search, 너비 우선 검색 알고리즘 (광 도 우선 검색).대열 의 선진 적 인 특징 을 활용 하여 모든 상황 을 두루 돌아다니다.너비 가 우선 이기 때문에 모든 상황 을 한 층 한 층 씩 옮 겨 다 니 며 검색 경로 의 최소 값 을 구 할 수 있 습 니 다.
의사 코드 (내 가 이해 하 는):
/*
*	                     ,
*	(       ,       step)	
*/
struct location{
	int x;  //           。 
	int y;  //     ,       。
	int step; //            。 
};

location lo[N][N];

int cmp[] = {n1,n2,m1,m2,k1,k2,z1,z2} //              ,     if  
									  //          。 

int flag[N][N];   //         ,      ,      ,       。 

int bfs(){
	queue q; //      ;
	location cur,next; //             ,             。       ~ 
	int fx,fy; //      ,                  ,      。 
	cur.x = first.x; 
	cur.y = first.y;
	cur.step = 0;  //       。
	q.push(cur);  //         。     。
	flag[fist.x][first.y] = 1; //           。 
	while(!q.empty()){   //      ,               。 
		cur = q.front();  
		q.pop();		//cur     ,     。        ,       ! 
		if(      ){
			return      ; //       ,      。 
		} 
		
		//    ,   cur      next,       。
		for(int i = 1; i<=x;i = i+n ){//  cmp  ,          
			fx = cmp[i-1] * xxx 
			fy = cmp[i] * xxx;
			if(fx,fy      &&flag[fx][fy]!=1&&        ){
				flag[fx][fy] = 1; //    ,      ;
				next.x = fx;
				next.y = fy;
				next.step = cur.xtep +1; 
				q.push(next); 		//     
			} 
		}           
		 
	}
	return         。 //          ,      。      。 
}	

hdoj 1253, hdoj 2717, hdoj 1312, hdoj 1495
나중에 새로운 아이디어 가 있 으 면 이 노트 를 업데이트 하 겠 습 니 다. 화 이 팅 ~ ~

좋은 웹페이지 즐겨찾기