티스토리 뷰
한국어로 찾았을 때 아무결과도 안나오는거 보면 좀 마이너한듯??
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정도만 채워준다고 한다.
장점) 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/
'Algorithm > 이론' 카테고리의 다른 글
[Algorithm] 세 수의 합 구하기 (0) | 2022.01.03 |
---|---|
이책을 추천합니다 (0) | 2022.01.03 |
[자료구조][Linux] Bitmap(비트맵), Bit Array(비트 배열) (0) | 2021.11.09 |
[자료구조][Linux][WIP] XArray (0) | 2021.11.09 |
[자료구조][Linux] Red Black Tree (0) | 2021.11.08 |