[자료구조] 스택(Stack)으로 큐(Queue) 구현하기
들어가며 라이브코딩에서 스택을 사용해서 큐를 구현하는 문제를 낸적이 있다는 걸 보았다. 스택을 사용해서 큐를 구현하는 방법을 알아보자. 아이디어 큐는 선입선출(FIFO: First-In First-Out) 구조를 가지는 자료구조다. 그리고 스택은 LIFO(Last-In First-Out) 구조를 가지는 자료구조다. 스택을 사용해서 큐를 구현하려면 …
2024년 5월 27일들어가며 라이브코딩에서 스택을 사용해서 큐를 구현하는 문제를 낸적이 있다는 걸 보았다. 스택을 사용해서 큐를 구현하는 방법을 알아보자. 아이디어 큐는 선입선출(FIFO: First-In First-Out) 구조를 가지는 자료구조다. 그리고 스택은 LIFO(Last-In First-Out) 구조를 가지는 자료구조다. 스택을 사용해서 큐를 구현하려면 …
2024년 5월 27일힙이란? 힙(heap) 은 완전 이진 트리의 일종 으로 특정한 규칙을 따라 부모 노드와 자식 노드 사이의 값이 정렬된다. 힙은 주로 우선순위 큐(Priority Queue) 를 구현할 때 사용된다. 힙은 완전히 정렬된 것은 아니지만 전혀 정렬 되지 않은 상태도 아닌 반정렬 상태(느슨한 정렬 상태)를 유지한다. 힙의 종류 힙(Heap)은 최대 힙(M…
2023년 3월 19일그래프(Graph)란? 그래프는 객체 사이의 연결 관계를 표현할 수 있는 자료 구조로 실제 세계의 현상이나 사물을 정점(vertex) 과 간선(edge) 으로 표현한 것이다. 전기 소자를 그래프로 표현하게 되면 전기 회로의 소자들이 어떻게 연결되어 있는지를 표현해야 회로가 제대로 동작하는지 분석할 수 있으며, 운영 체제에서는 프로세스와 자원들이 어떻게…
2022년 3월 7일이진 트리(Binary Tree)란? 이진 트리는 트리 중에서 가장 널리 쓰이는 트리이다. 자식노드가 최대 두 개인 노드들로 구성된 트리를 이진 트리(binary tree) 라고 한다. 트리와 이진 트리의 차이점 이진 트리의 모든 노드는 차수가 2이하이다. 즉, 자식 노드의 개수가 2 이하이다. 반면 일반 트리는 자식 노드의 개수에 제한이 없다. 이진 …
2022년 2월 24일트리(Tree)란? 트리는 계층적인 구조를 표현하는 자료구조로, 여러 개의 노드(Node)로 구성되어 있다. 이 노드들은 부모(Parent)와 자식(Child) 관계를 가지며, 서로 다른 노드들을 연결하는 에지(Edge)로 이루어져 있다. 트리는 다양한 분야에서 사용되며, 특히 데이터베이스, 운영체제, 알고리즘 등에서 널리 사용된다. 예를 들어, 파일 시…
2022년 2월 23일큐(Queue)란? 큐(Queue) 는 선입선출(FIFO: First-In First-Out) 구조를 가지는 자료구조다. 스택은 나중에 들어온 데이터가 먼저 나가는 구조이지만 큐는 먼저 들어온 데이터가 먼저 나가는 구조이다. 큐의 예로는 매표소나 드라이브 스루를 들 수 있다. 줄 서 있는 사람 중에서 가장 앞에 있는 사람(즉 가장 먼저 온 사람)이 먼…
2022년 2월 17일