Today I Learned - Linked List

JS · 2020. 2. 7. 15:31

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