inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Thử nghiệm mô phỏng kiểm tra mã hóa (với Java)

6. Con đường ngắn nhất để kiếm thức ăn (bfs)

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

380

jundol

7 câu hỏi đã được viết

1

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

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

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

java 코테 준비 같이 해요!

Câu trả lời 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

12

1

setter 사용하지 않기

0

14

1

27:15 break 출력

0

11

1

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

0

11

0

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

0

24

2

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

0

20

2

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

0

23

1

강의 영상 업로드 질문

0

31

2

자막 오타 제보

0

29

1

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

0

31

1

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

0

35

2

29강 5:00

0

34

2

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

0

26

1

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

1

48

2

띄어쓰기

0

39

2

공부 순서

1

50

2

코딩 문제 사이트 접속 오류

0

28

1

재귀함수 연산법

0

33

2

유효한 솔루션이 없는 조건

1

200

1

다른 풀이방법질문

1

239

1

result 가 없습니다.

1

250

1

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

1

299

1

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

1

176

2

가장 바깥 괄호제거

1

545

3