[JS] 자료구조의 특징과 설명

김현수·2023년 11월 20일
0

자료구조

목록 보기
2/8


🖍️ 자료구조 정리


배열

  • 특징

    • 연속적인 메모리 블록에 데이터 요소 저장
    • 요소는 색인화되어 색인별로 빠른 액세스 가능
    • 고정 크기 (Javascript 배열은 동적)
  • 사용시기

    • 인덱스 사용하여 요소에 빠르게 액세스해야 하는 경우
    • 요소의 개수를 미리 알고 있는 경우

리스트

  • 특징

    • 각 노드에는 목록의 다음 노드에 대한 참조와 데이터가 포함되어 있는 노드로 구성
    • 동적으로 크기를 늘리거나 줄이기 가능
    • 랜덤 액세스를 지원 X
  • 사용시기

    • 동적 데이터 구조 필요한 경우
    • 목록의 처음이나 중간에 요소를 자주 추가하거나 제거하는 경우

해시

  • 특징

    • 키-값 쌍을 저장
    • 키를 기반으로 효율적인 데이터 검색 제공
    • 연결 목록 배열 또는 개방형 주소 지정을 사용하여 구현
  • 사용시기

    • 고유 키를 값과 연결해야 하는 경우
    • 빠른 조회, 삽입, 삭제가 필요한 경우

스택

  • 특징

    • 후입선출 (LIFO) 원칙
    • 스택의 맨 위에서 요소가 추가(push) 되고 제거(pop)
  • 사용시기

    • 실행 취소 메커니즘, 구문 분석 및 역추적 알고리즘 (LIFO 순서로 요소 관리)

  • 특징

    • 선입선출 (FIFO) 원칙
    • 요소는 추가(push) 되고 전면에서 제거(shift)
  • 사용시기

    • 스케줄링, 버퍼링, 너비우선탐색 알고리즘 등 (LIFO 순서로 요소 관리)

  • 특징

    • 트리가 완전한 이진 트리인 특수한 트리 기반 데이터 구조
    • 일반적으로 max-heaps 와 min-heaps 의 두가지 유형 구현
    • 상위 노드는 하위 노드보다 크거나 같거나(최대힙) 작거나 같다(최소힙)
  • 사용시기

    • 최대 또는 최소 요소에 자주 액세스 하는 경우
    • 우선순위 큐에서는 우선순위가 가장 높은 큐 요소가 먼저 처리
    • 힙 정렬 알고리즘
profile
일단 한다

0개의 댓글