LInked List란?
각 노드가 데이터와 포인터를 가지고 한 줄로 연결되어 있는 방식으로 데이터를 저장하는 자료 구조
데이터를 담고 있는 노드들이 연결되어 있는데 노드의 포인터가 다음이나 이전의 노드와의 연결을 담당
LInked List method
node : 한 개의 데이터 set으로 value, next(default : null)의 값이 있는 객체
addToTail : 새로운 데이터를 리스트의 가장 끝에 붙인다.
removeHead : 헤드를 삭제하는 기능 (두 번째 데이터를 헤드로 전환시켜주는 과정 필요)
removeValue : 데이터를 삭제 (앞의 데이터와 뒤에 붙는 데이터를 연결해주는 과정이 필요)
hasValue : 데이터의 유무를 파악 (index가 없기 때문에 head부터 찾기시작해서 있으면 true, 없으면 false)
append(): 기존 리스트의 맨 뒤에 node 를 추가
prepend(): head 앞에 node 를 추가
deleteWithValue(): 지정한 값을 가지고 있는 node 를 삭제
Linked List의 장단점
장점: 한정된 메모리에서 자유로운 공간에 데이터 저장이 가능
단점: 찾고자 하는 데이터를 찾기위해서는 첫 번째 데이터부터 찾기 시작해야 함
'JS' 카테고리의 다른 글
Today I Learned - Tree, Binary Search Tree (0) | 2020.02.10 |
---|---|
Today I Learned - Graph (0) | 2020.02.10 |
Today I Learned - HashTable (0) | 2020.02.08 |
Today I Learned - Stack, Queue (0) | 2020.02.06 |
Today I Learned - OOP, Prototype (0) | 2020.02.06 |