반응형
오늘은 알고리즘에 대해 알아보겠다.
알고리즘이란?
→ 문제를 해결하는 단계적인 방법
여러 알고리즘이 있다.
전화번호부 예시
Mike를 전화번호부에서 찾으려면 첫 장부터 한 장씩 넘겨 찾는 방법이 있을 수 있다.
1024장이면 최대 1024단계가 필요할 수도 있다.
더 빠르게 하면 반씩 분류해서 정보를 정리 할 수 있다.
이렇게 하면 1024장이면 10단계면 찾을 수 있다.
이 단계들을 알고리즘이라고 한다.
좋은 알고리즘이란?
해결해야할 양 대비 처리속도가 더 적게 늘어나는 것
정확하고 효율이 좋은것
문제의 양대비 해결 시간이 적은 것이 좋은 알고리즘이다.
의사코드
전화번호부 예시를 코드 형식으로 나타내본다.
- 전화번호부를 집어 든다
- 전화번호부의 중간을 편다
- 페이지를 본다
- 만약 Mike Smith가 페이지에 있으면
- Mike Smith에게 전화한다.
- 그렇지 않고 만약 Mike Smith가 앞 페이지에 있으면
- 앞 페이지의 절반을 편다
- 3번째 줄부터 다시 실행한다
- 그렇지 않고 만약 Mike Smith가 뒷 페이지에 있으면
- 뒷 페이지의 절반을 편다
- 3번째 줄부터 다시 실행한다
- 그러지 않으면
- 그만둔다
함수
컴퓨터에게 무엇을 할지 알려주는 동사 같은 것
조건
여러 선택지 중 하나를 고르는 것
불리언(Boolean)
참과 거짓 아니면 2진법에서 0 또는 1로 나오는 질문
루프(loop)
뭔가를 계속해서 반복하는 순환
반응형
'프로그래밍 > CS' 카테고리의 다른 글
[CS50] 정보의 표현 (0) | 2023.11.16 |
---|---|
[CS50] 컴퓨팅사고와 2진법 (0) | 2023.11.16 |
[CS50] 다시, 컴퓨터 사이언스를 공부하는 이유 (0) | 2023.11.16 |