inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

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

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

403

강준

작성한 질문수 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

강준

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

업캐스팅 3번 문제 예시

0

11

2

구글드라이브 접속 불가

0

13

1

2024년2회15~20

0

13

0

낙관적락 질문있습니다.

0

35

1

push pop 설명 되어있는 강의가 몇강인가요?

0

38

1

댓글순서부여방식

0

37

1

movablePageCount와 pageSize 상수

0

33

1

JPA와 네이티브 쿼리

0

39

1

조회 메서드 네이밍 질문

0

50

1

소스파일

0

41

1

강의 판서 자료

0

49

2

모의고사 파일오류

0

70

3

Properties 설정이 추가되었는데

0

36

1

모의고사 다운

0

49

1

업캐스팅 원칙

0

64

2

11강 [실습] Docker로 MySQL1 분만에 실행하기

0

78

2

11강 [실습] Docker로 MySQL1 분만에 실행하기

0

57

2

6분46초

0

56

2

유효한 솔루션이 없는 조건

1

220

1

다른 풀이방법질문

1

257

1

result 가 없습니다.

1

274

1

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

1

313

1

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

1

209

2

가장 바깥 괄호제거

1

579

3