자료구조

CS/자료구조

[자료구조] 큐 Queue

04 큐 Queue 1. 큐의 개념 1-1. 큐란 무엇일까? 큐는 스택과 반대의 자료구조이다. 먼저 온 데이터가 먼저 나가는 선입선출(FIFO: First-In First-Out)의 특성을 가지고 있다. 스택도 많이 사용하는 자료구조지만, 큐는 스택보다 많이 사용되는 자료구조로 그 쓰임새가 많다. 일상생활의 예로는 매표소, 톨게이트 등이 있다. 순서대로 줄을 서는 모양이다. 1-2. 큐의 기능 큐의 기능은 스택과 비슷하다. 데이터를 삽입하고 읽어오고 삭제한다. 다만, 큐는 [top만 가지고 있는 스택]과는 다르게 front와 rear를 가지고 있다. front는 데이터가 삭제되는 부분을 가리키고, rear는 제일 나중에 들어온 데이터를 가리킨다. 스택의 추상자료형은 아래와 같다. 객체: 0개 이상의 요소..

CS/자료구조

[자료구조] 순환 - Recursion

02 순환 Recursion 1. 순환의 개념 1-1. 순환이란? 순환이란 알고리즘이나 함수가 수행 도중에 자기 자신을 다시 호출하여 문제를 해결하는 기법이다. 정의 자체가 순환적으로 되어 있는 경우에 적합한 방법이다. 순환의 가장 간단한 예로는 팩토리얼있다. 아래는 c언어로 팩토리얼 구하는 함수를 만든 것이다. int factorial(int n){ if (n ... -> 21 -> 20) 즉, 호출을 할 때마다 문제의 크기가 2로 나눈 것만큼 줄어들기 때문에 시간복잡도가 O(log2 n)이다. 반면 반복문은 n만큼 반복 연산해야하기 때문에 시간복잡도가 O(n)이다. 물론 수학적인 방식을 이용했기때문에 당연히 순환적인 방식이 빠를 수밖에 없는 거 아닌가라고 생각할 수 있을 것이다. 그러나 반복문에서는 ..

CS/자료구조

[자료구조] 자료구조와 알고리즘

01 자료구조와 알고리즘 1. 자료구조의 기본 개념 1-1. 프로그램 vs 프로세스 vs 프로세서 (Program vs Process vs Processor) 프로그램(Program) 이란 지정된 작업을 수행하는 명령 그룹이다. 즉, 실행될 명령 그룹을 코드로 정리해놓은 파일의 집합이다. 반면, 프로세스(Process) 는 정해진 목적을 수행하기 위해 메모리에 나열된 작업의 목록이다. 다르게 말하자면 실행 중인 프로그램을 의미한다. 프로그램과 프로세스를 구별하는 방법은 다음과 같다. 작업의 과정이 파일이 정리되어 있다면 프로그램 , 메모리(RAM)에 적재되어 실행 중이거나 대기 중이면 프로세스 라고 생각하면 된다. 또, 프로세서(Processor) 는 프로세스와는 다른 개념으로, 하드웨어 측면에서는 컴퓨..

gakko
'자료구조' 태그의 글 목록 (2 Page)