알고리즘 풀이 도움

11/14/2024

3차원 배열

3차원 배열은 세 개의 차원을 가진 데이터 구조이다. 이해하기 쉽게 실생활의 예를 들어본다.

아파트 구조로 생각하기

  • 1차원 배열: 한 층의 각 호실
  • 2차원 배열: 여러 층의 호실들
  • 3차원 배열: 여러 동의 여러 층 호실들
let apartment = [ 
	// 1동 
	[ 
		[101, 102, 103], // 1층 
		[201, 202, 203], // 2층 
		[301, 302, 303] // 3층 
	], 
	// 2동 
	[ 
		[101, 102, 103], 
		[201, 202, 203], 
		[301, 302, 303] 
	] 
]; 


// 2동 3층 2호실에 접근하려면: 
console.log(apartment[1][2][1]); // 302 출력

이 구조에서:

  • 첫 번째 인덱스: 동
  • 두 번째 인덱스: 층
  • 세 번째 인덱스: 호실 을 나타낸다.

BFS(너비 우선 탐색) 알고리즘

BFS는 그래프나 트리 구조에서 데이터를 탐색하는 방법 중 하나이다.

쉬운 예: 소문 퍼뜨리기

  1. 당신이 소문을 알게 됐습니다.
  2. 먼저 당신의 친한 친구들에게 소문을 전합니다.
  3. 그 다음, 친구의 친구들에게 소문이 전해집니다.
  4. 이런 식으로 점점 더 멀리 소문이 퍼져 나간다.

BFS의 특징:

  1. 시작 지점에서 가까운 노드부터 차례대로 탐색한다.
  2. 큐(Queue)를 사용하여 구현한다.
  3. 최단 경로를 찾는 데 유용하다.

알고리즘 단계:

  1. 시작 노드를 큐에 넣는다.
  2. 쿠에서 노드를 꺼내고, 방문했다고 표시한다.
  3. 꺼낸 노드의 인접 노드 중 방문하지 않은 노드를 모두 큐에 넣는다.
  4. 큐가 빌 때까지 2-3 단계를 반복한다.

블로그 내 관련 문서


참고 자료

출처 :

  • AI 선생님

댓글을 불러오는 중...