Categories.


[자료구조] 스택(Stack)으로 큐(Queue) 구현하기

들어가며 라이브코딩에서 스택을 사용해서 큐를 구현하는 문제를 낸적이 있다는 걸 보았다. 스택을 사용해서 큐를 구현하는 방법을 알아보자. 아이디어 큐는 선입선출(FIFO: First-In First-Out) 구조를 가지는 자료구조다. 그리고 스택은 LIFO(Last-In First-Out) 구조를 가지는 자료구조다. 스택을 사용해서 큐를 구현하려면 …

2024년 5월 27일

[자료구조] JavaScript로 힙(Heap) 구현하기

힙이란? 힙(heap) 은 완전 이진 트리의 일종 으로 특정한 규칙을 따라 부모 노드와 자식 노드 사이의 값이 정렬된다. 힙은 주로 우선순위 큐(Priority Queue) 를 구현할 때 사용된다. 힙은 완전히 정렬된 것은 아니지만 전혀 정렬 되지 않은 상태도 아닌 반정렬 상태(느슨한 정렬 상태)를 유지한다. 힙의 종류 힙(Heap)은 최대 힙(M…

2023년 3월 19일

[자료구조] 그래프(Graph)의 개념

그래프(Graph)란? 그래프는 객체 사이의 연결 관계를 표현할 수 있는 자료 구조로 실제 세계의 현상이나 사물을 정점(vertex) 과 간선(edge) 으로 표현한 것이다. 전기 소자를 그래프로 표현하게 되면 전기 회로의 소자들이 어떻게 연결되어 있는지를 표현해야 회로가 제대로 동작하는지 분석할 수 있으며, 운영 체제에서는 프로세스와 자원들이 어떻게…

2022년 3월 7일

이진 트리(binary tree)와 이진 탐색 트리(binary search tree)

이진 트리(Binary Tree)란? 이진 트리는 트리 중에서 가장 널리 쓰이는 트리이다. 자식노드가 최대 두 개인 노드들로 구성된 트리를 이진 트리(binary tree) 라고 한다. 트리와 이진 트리의 차이점 이진 트리의 모든 노드는 차수가 2이하이다. 즉, 자식 노드의 개수가 2 이하이다. 반면 일반 트리는 자식 노드의 개수에 제한이 없다. 이진 …

2022년 2월 24일

트리(Tree)의 개념과 용어 설명

트리(Tree)란? 트리는 계층적인 구조를 표현하는 자료구조로, 여러 개의 노드(Node)로 구성되어 있다. 이 노드들은 부모(Parent)와 자식(Child) 관계를 가지며, 서로 다른 노드들을 연결하는 에지(Edge)로 이루어져 있다. 트리는 다양한 분야에서 사용되며, 특히 데이터베이스, 운영체제, 알고리즘 등에서 널리 사용된다. 예를 들어, 파일 시…

2022년 2월 23일

[자료구조] JavaScript로 큐(Queue) 구현하기

큐(Queue)란? 큐(Queue) 는 선입선출(FIFO: First-In First-Out) 구조를 가지는 자료구조다. 스택은 나중에 들어온 데이터가 먼저 나가는 구조이지만 큐는 먼저 들어온 데이터가 먼저 나가는 구조이다. 큐의 예로는 매표소나 드라이브 스루를 들 수 있다. 줄 서 있는 사람 중에서 가장 앞에 있는 사람(즉 가장 먼저 온 사람)이 먼…

2022년 2월 17일