728x90
Winter ALGORIHTM 익히기
알고리즘은 수학과 컴퓨터과학 언어학 또는 엮인 분야에서 어떠한 문제를 풀어내기 위해 정해지 일련의 절차나 방법을 공식화한 형태로 표현한 것 입니다.
필자는 1년이라는 깊은 개발상식을 파해치고 주니어 개발자로 성장했으나 아직까지는 알고리즘을 꺠달은 단계는 아니라 생각해 알고리즘 익히기 계획을 준비했습니다.
알고리즘 공부를 위한 참고서
- egoing - 생활코딩
- 백준 - 알고리즘
- 프로그래머스 - 알고리즘 풀이
알고리즘 공부를 위한 준비
- 알고리즘 함수 깨우치기 - sort, for 정렬법, 반복문 등등
알고리즘을 작성하는 과정
- 문제 분석
- 주어진 문제에 대한 논리적 분석을 통해 핵심 사항을 분석한다.
- 데이터 수집과 표현
- 문제 해결과 관련된 정보들을 수집하며 데이터를 적절한 형태로 표현한다.
- 분해
- 복잡한 문제를 보다 쉽게 다룰 수 있도록 여러 개의 작은 부분들로 쪼개 분해한다.
- 패턴인식
- 문제 내에서 공통적인 유사성이나 규칙을 찾아낸다.
- 추상화
- 문제에서 필요 없는 부분들을 걸러내고 복잡한 문제나 아이디어를 단순화한다.
- 알고리즘
- 문제에 대한 단계적인 해결책, 설명, 지시 사항들을 설계한다.
- 평가
- 알고리즘의 정확성, 해답의 적절성, 효율성 등을 최종 점검하고 평가 완료 후에는 알고리즘을 기반으로 코딩을 한다.
알고리즘의 특성
- 입력(Input)
- 문제를 풀기 위한 입력이 반드시 필요하다.
- 출력(output)
- 문제를 해결했을 때 그 결과인 출력이 반드시 존재하여야 한다.
- 유한성(Finiteness)
- 알고리즘은 일정한 시간 내에 반드시 종료되어야 하며, 알고리즘 수행이 끝나지 않거나 매우 오래 걸리면 원하는 결과 값을 얻을 수 없다.
- 정확성(Correctness)
- 주어진 문제에 대한 정확한 출력 값을 만들어야 한다.
- 일반성(Generality)
- 같은 유형의 문제에 모두 적용 가능하다.
알고리즘의 표현 방법
순서도
문제 해결 과정을 기호와 도형을 사용해 표현하는 방식
의사 코드 (Pseudocode)
프로그램 명령문 형식을 취하고 각 명령을 사람이 이해하기 쉽게 적당한 뜻을 가진 단어로 나타낸다.
일반적인 언어
사람이 사용하는 문장으로 설명하는 것을 말한다.
알고리즘의 구현 과정
알고리즘은 문제를 해결하기 위한 체계적이고 순서적인 절차이다.
논리적 표현으로 반환하면 순서도나 의사 코드로 변환이 가능하며, 알고리즘을 프로그래밍 언어로 변환하면
컴퓨터 프로그램이 되며, 최종적으로 컴퓨터 프로그램을 실행하여 결과 값을 출력한다.
알고리즘이란? 알고리즘 개념 쉽게 이해하기
인사말 비전공자도 쉽게 이해할 수 있도록 깊게 파고들지 않고 대략적인 설명을 다루고 있습니다. 이 글에서는 알고리즘은 무엇이며 어떻게 만들어지고 어떻게 구현되는 것인가를 설명하고 있
onecoin-life.com
'etc. > Algorithm 개념 정리' 카테고리의 다른 글
[알고리즘 개념 정리] 1. 변수와 상수 (0) | 2022.01.29 |
---|