Certification/Learn Code

1. 알고리즘, 순서도

일해라폴폴 2021. 5. 15. 14:12
반응형

알고리즘

1. 정의

어떤 문제를 해결하기 위해 명확히 정의된 유한개의 규칙과 절차의 모임. 명확히 정의된 한정된 개수의 규제나 명령의 집합이며, 한정된 규칙을 적용함으로써 문제를 해결하는 것
어떤 문제를 해결할 때 해결 절차를 알기 쉽도록 기술 하는 논리적인 절차 과정
어떤 일을 하기 위한 방법 및 절차

2. 만족조건

입력: 외부에서 제공되는 데이터가 0개 이상
출력: 족어도 한가지의 결과를 생성
명확성: 각 명령들은 명확 해야하고, 모호하면 안됨
유한성: 알고리즘의 명령대로 수행하면 어떤 경우에도 한정된 수의 단계 뒤에는 반드시 종료
유효성: 각 연산이 명확해서만은 안되고 반드시 실행 가능

3. 특성

효과성: 하나의 알고리즘은 동일 유형의 문제 군에 집단적 해결 보장
정확성: 정확한 알고리즘은 모든 입력에 대하여 항상 올바른 답 보장
효율성: 알고리즘은 정확한 답을 보장할 뿐 아니라 문제의 해결의 최선의 방법 지향
전이성: 하나의 알고리즘은 다른 알고리즘으로의 변형이나 이전 가능

4. 표현 방법

자연어
- 일상 생활에서 사용하는 한국어, 영어등과 같은 언어로 알고리즘을 기술하는 것을 의미
- 장점: 자연어로 표현하게 되면 사용자가 사용하기 쉽고, 알아보기 쉬움
- 단점: 말과 글이 지니는 애매모호한 성질 때문에 알고리즘의 조건 중 명확성을 지키지 못할 가능성

순서도
- 컴퓨터에 의해 처리하고자 하는 문제를 분석하여 그 처리 순서를 단계화시켜 상호간의 관계를 일정한 기호를 사용하여 나타낸 그림
- 장점: 완성된 순서도는 모든 컴퓨터에 적용가능

프로그래밍언어
- C와 Java와 같은 프로그래밍 언어를 적용하여 알고리즘을 기술하는 방법
- 장점: 알고리즘을 작성하는 동작과 프로그래밍 하는 동작이 일치 하므로 작업이 용이
- 단점: 언어 독립적 알고리즘 기술 곤란 (특정 프로그래밍에 맞게만 알고리즘을 사용하게 됨)

의사코드
- 자연어 기술 방법과 그래픽적인 표현 방법을 쓰는 것보다 좀더 개선된 방법
- 장점: 제약이 없어 쉽게 프로그램의 기능과 순서를 표현 가능, 특정 프로그램의 지식이 필요하지 않음
- 단점: 특정 제약이 없어 사용하는 사람 마다 사용법이 다를 수 있음

순서도

1. 역할

- 프로그램을 작성하는 기초 자료
- 타인에게 인수, 인계 용이
- 프로그램의 유지보수 용이
- 프로그램 보관 시 자료가 될 수 있음

반응형

'Certification > Learn Code' 카테고리의 다른 글

git push 계속 안되서 결국에는 초기화 후에 push 하기...  (0) 2023.09.14
3. 스크래치  (0) 2021.05.15
2. 언플러그드  (0) 2021.05.15