Algorithm/Theory

Algorithm/Theory

스택(Stack)과 큐(Queue) in Python

요즘 DFS와 BFS 알고리즘에 대하여 공부하고 있는데 이러한 알고리즘을 이해하기 앞서 선행으로 알고있어야 하는 자료구조가 있는데 바로 스택(Stack)과 큐(Queue)이다. 스택과 큐는 파이썬뿐만 아니라 모든 프로그래밍 언어에서 기본적이고 중요한 자료구조 중 하나이고,알고리즘을 위해서만이 아니라 여러가지 상황에서 효율적인 해결책을 제공한다. 스택과 큐는 기본적으로 데이터를 쌓는 구조에 대한 자료구조이고,이 두 자료구조는 데이터를 삽입(Push)하는 과정과 삭제(Pop)하는 과정이 핵심이다.때문에 오늘은 스택과 큐에 대해서 알아보겠다.1. 스택 (Stack)스택은 쌓다라는 말로 표현이 가능한데, 실제로 스택 자료구조는 박스를 쌓는것과 상당히 유사하다.박스를 위로 쌓고 다시 내려놓는다고 가정하면 제일 마..

Algorithm/Theory

그리디(Greedy) 알고리즘

1.  그리디(Greedy) 알고리즘 이란?그리디 알고리즘이란 문제를 해결하는 과정에서 매 순간 가장 최선인 선택을 하는 알고리즘이다.그리디는 우리말로 탐욕이라는 뜻으로 국내에서는 "탐욕 알고리즘"이라고 칭하기도 한다.그리디 유형의 문제는 타 알고리즘과 비교했을 때 사전에 외우고 있지 않아도 풀 수 있는 가능성이 가장 높은 유형이라는 특징이 있다. 해당 알고리즘을 이용하면 매 순간 가장 좋아 보이는 것을 선택하며, 현재의 선택이 나중에 미칠 영향에 대해서는 고려하지 않는다.그렇기 때문에 항상 최적의 값을 보장하는 것이 아니라 최적의 값의 '근사한 값'을 목표로 한다. 2. 그리디 알고리즘의 2가지 조건그리디 알고리즘은 두 가지 조건이 성립해야 적용할 수 있다. 1) 탐욕 선택 속성매 단계에서 가장 최적의..

chanung
'Algorithm/Theory' 카테고리의 글 목록