inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

코딩테스트 실전 모의고사(with 자바)

6. 음식을 구하기위한 최단 경로 (bfs)

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

377

강준

작성한 질문수 7

1

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

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

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

java 코테 준비 같이 해요!

답변 2

1

푸샵맨 코딩스터디

강준님 안녕하세요

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

강준

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

join에대해 질문드립니다.

0

7

1

pg사가 있다고 가정하면

0

9

0

중급 1편 학습 방향에 대해 조언 부탁드립니다

0

25

1

To-Do App

0

20

1

강의노트 접속 불가

0

15

2

Kafka Cluster 구성도 질문

0

16

1

26년 1회차 기출 강의

0

37

2

기출문제

0

50

1

정보처리기사 실기 zip

0

42

2

답을언제쯤받아볼수있나요

0

47

2

데이터베이스 노션

0

37

2

형 책 어떻게 받아?

1

54

1

PPT 자료 공유 받을 수 있을까요?

0

31

1

@JsonIgnore 이후 Internal Server Error가 발생하지 않습니다.

0

32

2

수업노선자료파일 다운

0

34

2

5~9까지 램덤숫자출력

0

29

1

프로젝트가 없어요..

0

56

2

C언어에서

0

55

1

유효한 솔루션이 없는 조건

1

195

1

다른 풀이방법질문

1

238

1

result 가 없습니다.

1

247

1

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

1

296

1

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

1

175

2

가장 바깥 괄호제거

1

541

3