JAVASCRIPT

큐, 스택, 트리 자료구조

걍가영 2020. 7. 30. 14:41

큐, 스택, 트리 자료구조

데이터의 추상적 형태와 그 데이터를 다루는 방법


큐 (Queue)

순서대로 처리해야 하는 작업을 임시로 저장해두는 버퍼(buffer)로서 많이 사용됨

  • 데이터를 집어넣을 수 있는 선형(linear) 자료형
  • 먼저 집어넣은 데이터가 먼저 나옴
  • 데이터를 집어 넣는 enqueue, 데이터를 추출하는 dequeue 등의 작업 가능

스택 (Stack)

이전의 작업 내용을 저장해 둘 필요가 있을 때 사용

  • 데이터를 집어넣을 수 있는 선형(linear) 자료형
  • 나중에 집어넣은 데이터가 먼저 나옴
  • 데이터를 집어넣는 push, 데이터를 추출하는 pop, 나중에 넣은 데이터를 확인하는 peek등의 작업가능

트리(Tree)

여러 데이터가 계층 구조 안에서 서로 연결된 형태를 나타낼 때 사용

  • 노드(node) : 트리 안에 들어가있는 각 항목을 말함
  • 자식 모드(child node) : 여러 자식 노드를 가질 수 있음
  • 부모 모드(parent node) : 노드 A가 노드 B를 자식으로 갖고 있다면, A를 부모 노드라고 부름
  • 뿌리 모드(root node) : 트리의 가장 위쪽에 있는 노드
  • 잎 노드(leaf node) : 자식 노드가 없는 노드를 말함
  • 자손노드(descendant node) : 노드 A가 노드 B의 조상 노드일 때, B를 자손 노드라고 부름
  • 형제 노드(sibling node) : 같은 부모 노드를 갖는 다른 노드를 보고 형제 노드라고 부름