본문 바로가기

컴퓨터일반/자료구조론

컴퓨팅 사고, 알고리즘

컴퓨팅 사고

- 컴퓨터를 이용하여 문제를 해결할 수 있는 논리적으로 창의적인 생각 방식입니다.

분해

- 복잡한 문제를 잘게 나누어 간단한 여러 개의 작은 문제로 분해하는 것을 의미합니다.

패턴 인식

- 문제를 해결하는데 있어 반복되는 현상을 찾아내는 것을 의미합니다.

추상화

- 발견되는 패턴에서 불필요한 부분들을 제거하고 핵심적인 요소들만을 남김으로써 문제를 단순화하는 단계입니다.

알고리즘

- 문제 해결을 위한 공식 또는 절차를 의미합니다.

알고리즘 특성

입력

- 외부에서 제공되는 자료가 있을 수 있습니다.

- 0개 이상의 입력이 존재합니다.

출력

- 반드시 한 개 이상의 결과를 생성합니다.

명확성

- 각 명령들은 명확하고, 모호하지 않아야 합니다.

유한성

- 어느 한정된 수의 단계 뒤에는 반드시 종료합니다.

실제성

- 알고리즘의 모든 명령은 실행 가능합니다.

유효성

- 원칙적으로 모든 명령들은 종이와 연필만으로 수행될 수 있게 기본적이어야 합니다.

알고리즘 복잡도

- 해당 알고리즘이 특정 기준에 따라 얼마나 빠르게 또는 느리게 실행되는지 나타냅니다.

시간 복잡도

- 알고리즘이 실행되어 종료될 때까지 어느 정도의 시간이 필요한지 측정하는 방법입니다.

- O(1) < O(logn) < O(n) < O(nlogn) < O(n^2) < O(n^3) < O(2^n) < O(n!) < O(n^n)

공간 복잡도

- 알고리즘이 문제를 해결하는데 어느 정도의 저장 공간이 필요한지 측정하는 방법입니다.

'컴퓨터일반 > 자료구조론' 카테고리의 다른 글

자료구조 분류 선형구조, 비선형구조  (0) 2022.09.18