본문 바로가기

학교/[수업 필기] 컴퓨터 알고리즘

컴퓨터알고리즘 2주차

1. 알고리즘과 순서도

1) 컴퓨터를 이용한 문제 해결 4단계

1단계 : 주어진 문제 이해와 분석

2단계 : 문제 해결 방안 구상 (문제 해결 방안 = 알고리즘)

3단계 : 컴퓨터 프로그램 작성 (프로그래밍 = 알고리즘)

4단계 : 프로그래밍 실행 및 검증 (검증= 디버깅)

 

2) 순서도(Flowchart) : 알고리즘을 표현하는 방식 중 하나

- 장점 : 알고리즘의 구조와 특성을 한눈에 파악하기 쉽고 서로 오해하지 않으면서 객관적인 의사소통이 가능하다.

- 알고리즘은 한 개만 존재하는 것은 아니다.

ex) 숫자를 크기 순서대로 배치하는 정렬(Sorting) 알고리즘

1) 선택 정렬

2) 버블 정렬

3) 삽입 정렬

4) 병합 정렬

5) 퀵 정렬

6) 쉘 정렬

7) 히프 정렬

8) 계수 정렬

9) 기수 정렬

 

- 알고리즘의 성능은 시간(걸리는 시간)과 공간(메모리 차지)을 기준으로 측정된다.

- Big O notation : 시간 복잡도의 표현법 중 가장 많이 쓰이는 표현법

- 의미 : 문제 사이즈 n에 따른 알고리즘 수행 시간

- 알고리즘 실행 시간의 상한을 나타내는 표기법

1. O(1) : 상수 시간, 알고리즘이 문제를 해결하는데 1:1 관계

2. O(n) : 직선적 시간, 알고리즘이 문제를 해결하는데 1:1 관계

3. O(n^2) : 지수 시간, 알고리즘이 문제를 해결하는데 제곱의 관계

 

- 순서도 기본 기호

codingisgame.tistory.com/10

 

[알고리즘] 순서도(flowchart)

순서도 (flowchart) 순서도(flowchart)는 다이어그램의 종류중 하나로 어떤 일을 처리할때 여러 종류의 상자와 이를 이어주는 화살표를 이용해 명령의 순서를 보여주는 알고리즘(algorithm) 혹은 프로세

codingisgame.tistory.com

 

- 배열 변수

- 선언 : Array(차원 수, 원소의 개수)

ex) ENG(100) = ENG(1,100) : 1 2 3... 100
Scores(2,7) : 1열 2열 3열 4열 5열 6열 7열
           1행 1    2    3    4    5     6    7
           2행 1    2    3    4    5     6    7

- 스위치(sw) 알고리즘
https://m.blog.naver.com/PostView.nhn?blogId=onlyloveciel&logNo=70175791952&proxyReferer=https:%2F%2Fwww.google.com%2F

 

Chapter 4. 알고리즘 이해 - 변수와 배열

Chapter 4. 알고리즘 이해 - 변수와 배열 1. 변수의 개념 1) 변수는 순서도에서 값을 보관하여 처리하기 ...

blog.naver.com