inflearn logo
강의

講義

知識共有

コーディングテスト本番模擬試験(with Java)

6.食品を救うための最短経路(bfs)

Priority Queue 대신 LinkedList 사용 이유를 알 수 있을까요??

380

jundol

投稿した質問数 7

1

안녕하세요 강사님! 강의 잘 듣구있습니다.

혹시 제목 그대로 LinkedList 를 사용하신 이유를 알 수 있을까요?

또한,  Priority Queue 사용시에는 초기 pq.add(new int[] {x, y, 1}); 이렇게 하면 되는지 문의드립니다!

java 코테 준비 같이 해요!

回答 2

1

pushupman

강준님 안녕하세요

1-1질문주신내용:

혹시 제목 그대로 LinkedList 를 사용하신 이유를 알 수 있을까요?

또한,  Priority Queue 사용시에는 초기 pq.add(new int[] {x, y, 1}); 이렇게 하면 되는지 문의드립니다!

1-2 답변 :

bfs문제는 queue에 넣어서 한칸씩 이동하는 개념이죠, 일반적으로 

Queue<int[]> q = new LinkedList<>(); 이걸 사용하죠

만약 Priority Queue를 쓰고 싶다면,  내부적으로 우선순위를 만들어줘야겠죠?

maxHeap, minHeap 중에 하나로 만들어서 특정한값으로 소팅이 되게해주죠

예를들어 a->b 지점가는데 cost 500, a->c지점 가는데 cost 200 

이런 경우 cost를 비교대상으로 잡고 maxHeap, minHeap을 잡죠

이 문제의 경우에는 한칸한칸 이동하는 개념이라 Priority Queue를 사용하지 않았습니다.

추후 Priority Queue 를 다익스트라 최단거리 문제를 다뤄 보도록 하겠습니다.

이해안되시면 추가 질문주세요~

감사합니다.

0

jundol

이해했습니다! 답변 감사합니다~!

강의 자료

0

15

1

setter 사용하지 않기

0

14

1

27:15 break 출력

0

13

1

세션을 제대로 이해한게 맞는지 궁금합니다

0

12

0

55강 파이썬에만있는 연산자들

0

30

2

55강의 파이썬에서만 있는 연산자들

0

22

2

안녕하세요 토비님 혹시 완성된 코드의 repository 주소는 없을까요?

0

30

2

강의 영상 업로드 질문

0

36

2

자막 오타 제보

0

30

1

운영환경에 적용해볼 수 없을때...고민입니다 ㅠㅠ

0

32

1

13 섹션 병렬 스트림 고급 1탄 매치 문의

0

36

2

29강 5:00

0

34

2

3차원 배열의 인덱스 해석 순서와 3중 반복문 순회 메커니즘에 대해 질문드립니다.

0

26

1

인텔리제이 설정 최신화 관련 확인 부탁 드립니다!

1

48

2

띄어쓰기

0

41

2

공부 순서

1

51

2

코딩 문제 사이트 접속 오류

0

28

1

재귀함수 연산법

0

33

2

유효한 솔루션이 없는 조건

1

201

1

다른 풀이방법질문

1

239

1

result 가 없습니다.

1

250

1

영상 오디오가 너무 이상해요 ㅠㅠ

1

299

1

입출력 예시가 잘못된거 아닌가요??

1

176

2

가장 바깥 괄호제거

1

546

3