=> 그래프는 순회 가능한 자료구조인데, 보통 2차원 배열이나 링크드 리스트로 구현한다. => 트리는 계층형 자료구조인데 높이는 전체 노드 개수의 logn이다. 마찬가지로 2차원 배열과 링크드 리스트로 구현 가능하다.
배열의 경우에는 생성 삭제가 끝이 아니라 무작위로 이뤄지는 경우에는 불리한 자료형중간에 삽입하거나 중간에 삭제하면 한 칸씩 밀리면서 시간 복잡도가 O(n)이 나옴삽입, 삭제가 끝에서 이뤄지는 경우끝에서 이뤄지는 경우에는 O(n)조회나 검색을 많이 하는 경우
배열과 다르게 탐색에 불리함 O(n)요소 추가와 삭제는 유리함 O(1)메모리가 허용하는 만큼 추가 가능싱글리, 더블리, 써큘러 형태가 있음싱글리더블리써큘러
=> 자동완성 구현하기 좋은 자료구조형, 단 루트에 자식의 정보를 모두 담아야 하기 때문에 저장공간이 많이 필요하다.
=> 배열을 활용하여 큐를 구현하였다. 앞과 뒤 인덱스를 각 로직을 수행하면서 갱신하는 것이 중요하다. 이렇게 구현을 해야 효율적이다. shift함수는 비효율적이다. (n이 커질 경우에)=> 환형큐는 최대 크기와 현재 크기를 별도로 가지고 있다. 그리고 엔큐와 디큐를
=> 해시 함수를 사용하여 키, 값 형태를 저장하는 자료구조이다. 검색을 빠르게 할 때 유리하다.=> js는 object 말고 Map을 활용할 수 있다. key에 객체도 들어갈 수 있다.
=> 힙은 우선순위 큐의 개념을 활용한 자료구조이다. 요소가 삽입, 삭제될 때마다 바로 정렬되는 특징이 있다. 최대힙, 최소힙이 있으며 JS에서는 직접 구현해서 써야한다. 또한 힙은 이진트리이기에 배열로 만들 수 있다.