JavaScript(자료구조)

BOONG GI JUNG·2023년 12월 4일

Language

목록 보기
4/13

자료구조

배열 (Array)
순서가 있는 값들의 리스트입니다.
각 요소는 인덱스를 가지고 있으며, 인덱스는 0부터 시작합니다.

const numbers = [1, 2, 3, 4, 5];
const fruits = ['apple', 'banana', 'orange'];

객체 (Object)
키-값 쌍의 집합으로, 키를 사용하여 값에 접근합니다.

const person = {
  name: 'John',
  age: 30,
  city: 'New York',
};

맵 (Map)
키-값 쌍의 집합이지만, 키에는 객체와 같은 다양한 타입을 사용할 수 있습니다.

const myMap = new Map();
myMap.set('name', 'John');
myMap.set('age', 30);

셋 (Set)
중복을 허용하지 않는 고유한 값들의 집합입니다.

const mySet = new Set([1, 2, 3, 4, 5]);
mySet.add(6);

스택 (Stack)
후입선출(LIFO)의 원칙에 따라 동작하는 자료구조입니다.

const stack = [];
stack.push(1);
stack.push(2);
stack.pop(); // 2

큐 (Queue)
선입선출(FIFO)의 원칙에 따라 동작하는 자료구조입니다.

const queue = [];
queue.push(1);
queue.push(2);
queue.shift(); // 1

링크드 리스트 (Linked List)
각 요소가 다음 요소를 가리키는 구조를 가진 자료구조입니다.

class Node {
  constructor(value) {
    this.value = value;
    this.next = null;
  }
}
const node1 = new Node(1);
const node2 = new Node(2);
node1.next = node2;

트리 (Tree)
계층적인 구조로, 각 노드가 여러 자식 노드를 가질 수 있습니다.

class TreeNode {
  constructor(value) {
    this.value = value;
    this.children = [];
  }
}
const rootNode = new TreeNode(1);
rootNode.children.push(new TreeNode(2));

해시 테이블 (Hash Table)
키-값 쌍을 저장하는 자료구조로, 해시 함수를 사용하여 빠르게 접근할 수 있습니다.
자바스크립트의 객체는 내부적으로 해시 테이블로 구현되어 있습니다.

profile
새로운 기술을 즐기는 라이프 하루에 한번 포스팅하기!

0개의 댓글