Today
Total
Archives
05-20 16:13
관리 메뉴

tony9402

1. 알고리즘이란 본문

알고리즘/공부

1. 알고리즘이란

ssu_gongdoli 2018. 9. 16. 20:12
반응형

※ 학교 공부 복습 겸 올리는 것들이라 틀린 부분도 있을 수도 있습니다.(틀린 부분 있으면 댓글로 남겨주시면 감사하겠습니다.) 또한 간략하게 정리하는거라 내용이 부족할 수 있어 이 글을 보시는게 도움이 될 수도 안될 수도 있습니다. 












알고리즘은 위에 영어로 되어있듯이 컴퓨터를 이용해서 문제를 풀기 위한 테크닉(Technique)이다. 테크닉은 Pseudo-code로 문제 풀이 과정을 프로그래밍 언어가 아니지만 프로그래밍 하는 듯이 표현하는걸로 생각하면 된다.


알고리즘을 다른 말로 설명하면 문제 풀이를 위한 절차라고 말할 수 있다. 실제로 알고리즘은 설계단계에서 사용한다.















우리학교 컴퓨터학부에선 machine이라고 말하면 machine은 CPU라고 생각하면 된다고 한다.

알고리즘에서 복잡도가 곧 성능과 관련이 있기 때문에 시간과 공간에 대한 복잡도를 계산하는 과정이 매우 중요하다. 복잡도에는 두 가지가 있다.


시간 복잡도(Time Complexity)

공간 복잡도(Space Complexity)


공간 복잡도는 메모리와 관련이 있는데 이는 해결하기 쉬운 문제이다. 하지만 시간 복잡도는 얼마나 효율적으로 실행하는 것에  따라서 처리 속도가 달라지기 때문에 공간 복잡도보단 시간 복잡도가 더 중요하다.



책에는 알고리즘을 만든 소스를 올리면 소스의 길이가 길어질 수 있고 보기가 어려울 수 있다. 이를 편하게 하는 방법은 Pseudo-code로 작성하는 것이다.

이 슬라이드에선 Pseudo-code가 의사 코드라 하지만 뭔가 이상하게 들린다. 그냥 직역해서 하면 Pseudo는 가짜의, code는 코드로 해석해서 보면 가짜 코드, 즉 유사코드라고 할 수 있다.




반응형

'알고리즘 > 공부' 카테고리의 다른 글

3. 피보나치 수열의 시간 복잡도  (0) 2018.09.26
2. Search algorithm  (0) 2018.09.16
2. 시간복잡도와 공간복잡도 (1)  (0) 2018.08.26
1. 자료구조 기본 개념  (0) 2018.08.26
BFS/DFS 공부 메모  (0) 2018.08.09
Comments