티스토리 뷰

Algorithm/이론

[Algorithm] Unrolled Linked List

SweetDev 2021. 11. 23. 15:03

 

한국어로 찾았을 때 아무결과도 안나오는거 보면 좀 마이너한듯??

 

linear data structure이고, linked list와 array의 장점을 모두 살린 자료구조이다.

 

링크드 리스트 장점: 삽입하는데 O(1)걸린다. 근데 단점 - search시간이 O(n)이다...

Q) search시간을 줄일 수 없을까???

 

unrolled linked list는 array와 linked list의 장점을 모두 갖고 있다 - 한 노드에 여러개를 보관해서 search시간 낮아지고, insertion과 deletion이 linked list만큼 빠르다.

 

일반적인 구현으로는 꽉 채우지 않고 3/4정도만 채워준다고 한다. 

 

https://www.geeksforgeeks.org/unrolled-linked-list-set-1-introduction/

 

장점) pointer/refernece를 위한 storage down. linked list는 하나의 data마다 포인터 저장해야 하니까 공간이 더 많이 필요하다. 

 

linear search 훨씬 빠르다.

그림처럼 9개 원소중에 7번째를 찾아야한다면 node 2개를 점프해서 3번째 노드에서 1번째 원소를 보면 된다. 

 

단점) node마다 overhead가 커진다. (node의 크기가 커진다)

 

현대 캐시에 적용하기 더 좋다고 한다??

 

 

[출처]

https://www.geeksforgeeks.org/unrolled-linked-list-set-1-introduction/

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함