본문 바로가기

알고리즘

알고리즘 알아보기(1)

728x90
반응형

 | 알고리즘이란?

프로그램은 자료 구조와 알고리즘으로 구성되어 있다.

문제를 해결하기 위한 처리 절차를 구체적인 순서에 따라 표현한 아이디어나 생각으로, 일상 생활에서도 사용한다.

컴퓨터 공학 혹은 컴퓨터 과학(Computer Science Engineering)에서는 문제를 어떻게 풀 것인가에 대한 자세한 설명서이자 input 값을 통해 output 값을 얻기 위한 계산 과정

 

간단히 말해 문제를 해결하려는 방법 및 절차, 과정이라고 할 수 있는데 순서도에 영향을 받음

(ex. 물건을 구매하는 과정, 결제하는 과정 등)

 

 | 특징/조건

입력 (Input)

 외부에서 제공되는 자료가 0개 이상 존재 (없을 수 있음)

출력 (Output)

 문제가 처리되면 결과가 최소 1개 이상 존재 (모든 입력에 하나의 출력- 이 나오면 X)

유한성

 유한한 수의 작업 후에는 반드시 유한 시간 내 종료해야 함

명확성

 단계가 무엇을 위한 것인지 명확한 명령어로 구성되어야 함

유효성

 모든 명령은 실행 가능해야 함

일반성

 정 값 뿐 아니라 정의된 모든 입력에 적용 가능

효율성

 고리즘은 가능한 효율적이어야 함

 

좋은 알고리즘의 조건

 : 알기 쉽고 속도가 빠르다. 효율적이고 재이용하기 쉽다.

    프로그램을 실행할 때 사용하는 메모리의 영역이 작다

 

 | 공부법

앞으로 알고리즘을 공부하며 새겨두어야 할 부분에 대해 정리했다.

 

① 공부는 꾸준히

② 하나의 문제에 대해 다양하고 깊이 생각해보기

③ 문제를 못 풀었을 때, 답을 보고 내 답과 비교하기

  - 왜 안되는지, 답과 무엇이 다른지 오답노트

  - 절대 답을 보고 외우지 않기

   > 문제가 달라지거나 새로운 문제를 만나면 풀 수 없게 됨

 

 

728x90
반응형