연속된 메모리 공간에서 Index를 이용해 접근, 접근의 시간 복잡도가 이지만, 삽입/삭제시 의 선형시간이 걸린다. 데이터에 접근이 많고, 수정이 적을 때 알맞은 자료구조.
각 노드에 다음 노드의 위치 정보를 가지고 있어 이를 따라 값을 찾는다. 따라서 접근의 시간 복잡도는 , 데이터의 추가/삭제는 주변 노드의 위치 정보의 수정만으로 가능하여 이다.
LIFO(Last In First Out) 형식의 자료구조, 가장 위의 값만 확인할 수 있다.
FIFO(First In First Out) 형식의 자료구조, 가장 앞의 원소를 front , 가장 뒤의 원소를 rear라 부른다. 시작과 끝이 이어진 circular queue 형태 또한 존재한다.
여러 노드가 이어진 형태의 자료구조, 최상위에 위치한 Root Node에서 각 노드까지의 경로가 유일한 것이 특징이다.
탐색 트리의 일종, 웹 개발에서 문구 자동완성에 이용한다. 하나의 문자열을 Character 단위로 나누어 다음 node로 가는 Key로 사용한다.
Javascript 내부에서 자료구조의 구현
대학교에서 접했던 내용이 많았지만, 역시 아는 것과 설명하는 것은 큰 차이가 있음을 느꼈다. 팀원에게 막힘없이 설명할 수 있는 것을 목적으로 오늘 배운 내용을 정리해 봤지만, 정말 쉽지 않다. 지금까지 잘 만들어진 C++ STL을 사용한 것도, 오늘 공부에 괴리감을 줬다. '설마 현업에서도 자료구조를 Javascript 구현하지는 않겠지?'같은 생각을 하며 오늘의 TIL을 마친다.