inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Cấu trúc dữ liệu mà đến cá heo cũng hiểu (với Java)

Khảo sát độ phức tạp thời gian của hàng đợi sử dụng danh sách liên kết đơn

단방향 연결리스트를 활용한 큐의 시간복잡도 관련 질문입니다.

68

dlektl6

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

0

안녕하세요!

단방향 연결리스트를 활용한 큐가 offer 수행시,
시간복잡도가 O(1) 이 되어야하는건 아닌지 의문이 들어 질문 남깁니다!

LinkedList 가 last 변수를 통해 마지막 노드의 정보를 가지고 있어서 큐에서 offer 시 O(1) 이 될 수 있을거같아서요.

강의 잘보고 있습니다. 감사합니다!

Câu trả lời 1

0

dackkuck

안녕하세요

단방향 연결리스트에서 헤드 정보를 통해 특정 노드에 접근하는 방법으로는 O(n) 이 걸리고

양방향 연결리스트에서 헤드랑 테일 노드를 이용하면 양끝은 O(1) 이 걸리도록 할 수 있습니다.

말씀하신대로 단방향 연결리스트에 양방향 연결리스트처럼 테일 노드를 추가해서하면 마지막 노드의 정보를 저장하니까 O(1) 걸리도록 개선시킬 수 있습니다.

하지만 특정노드의 정보를 저장하는 개수가 늘어나면 연결리스트가 배열에 가까워지니까 공간을 희생할지 시간을 희생할지 필요한만큼 결정할 수 있어야합니다.

 

강의에서도 양방향 연결리스트로 큐를 구현할때는 offer 가 O(1) 으로 나오도록 구현됩니다

 

감사합니다.

0

dlektl6

이해해습니다. 감사합니다!

강의 추천해주세요

2

25

1

케이테스트 서버 운영 방법

2

44

1

실습 파일 업로드 안된 것 같아요 이거 강사님한테 보여주세요

1

24

2

젠킨스버전과 플러그인설치

1

37

2