learning/Algorithm 4

그리디 알고리즘_[Greedy Algorithm]

오늘은 그리디 알고리즘을 공부해보는 시간을 가져봅시다  그리디 알고리즘이란Greedy(탐욕) + Algorithm, 탐욕 알고리즘이라고도 합니다. 왜 탐욕 알고리즘이라 불리는 걸까요?그 이유는 탐욕 알고리즘의 특성을 살펴보면 알 수 있는데요. 탐욕 알고리즘은 여러 가능성 중 가장 최선의 선택을 찾는 알고리즘입니다. 최선의 기준에 따라 가장 적합한 경로, 최적해를 찾아내는데여기서 최선의 기준이 Max 혹은 Min이 됩니다.   문제의 종류와 목적에 따라 판단 기준이 다르겠지만,각 단계에서 어떤 값을 최소화하거나 최대화하도록 선택하는 것이그리디 알고리즘의 핵심이라 볼 수 있는데요. 최소화 문제, 최대화 문제는 그리디 알고리즘이 동작하는 북극성이라 생각하면 된답니다.  이 과정에서 그리디 알고리즘의 이름이 G..

learning/Algorithm 2024.05.05

자료구조에 대해 알아보자

컴퓨터의 자료구조에 대해 알아보자 알고리즘과 자료구조는 깊은 관계성 갖고있습니다. Program = 자료구조 + 알고리즘 자료구조를 활용하여 알고리즘은 문제를 해결하는 과정과 방법론을 제시하죠. 여기서 자료구조란, 자료를 효율적으로 표현하고 저장하고 처리할 수 있도록 정리하는 것을 말합니다. 알고리즘을 수행하기 위해 데이터를 메모리에 구조화하는 역할입니다. 컴퓨터가 더욱 효율적으로 문제 분석하고 처리할 수 있게 하기 위해서 우리는 알맞은 형태로 정의해야 할 수 있어야하는데요. 그 “알맞은 형태”가 곧 자료구조랍니다 🙂 컴퓨터는 어떤 다양한 방법으로 조직화 되어있는지 살펴봅시다. 형태에 따른 자료 구조 분류 [1] 단순 구조 (Simple Structure) 복잡한 계층 및 구성 요소를 가지지 않는 구조를..

learning/Algorithm 2024.03.24

알고리즘(Algorithm)에 대해 알아보자

알고리즘이란? (문제) ----------(해결) > "문제 해결 방법의 절차" 특정한 요리를 완성하기 위한 레시피와 같은 개념으로 생각하도록 하자 알고리즘 조건 입력 (Input) : 알고리즘 수행에 필요한 자료가 외부에서 입력으로 제공될 것 출력 (Output) : 수행 후, 하나 이상의 결과를 출력할 것 명확성 (Definiteness) : 알고리즘 수행 작업 과정을 나타내는 명령어들은 명확한 형태를 띄고 있을 것 유한성 (Finiteness) : 알고리즘은 수행 후, 반드시 종료될 것 효과성 (Effectiveness) : 실무에서 실행 가능한 알고리즘 명령어일 것 알고리즘의 표현 방법 (1) 순서도(flow chart)의 도식화 but 하나하나 풀어 나타내는만큼, 복잡한 알고리즘의 경우 상당히 ..

learning/Algorithm 2024.03.17