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) : 같은 부모 노드를 갖는 다른 노드를 보고 형제 노드라고 부름