알고리즘의 정의
4가지로 표현 가능
1.문제. 2.해결방법, 3.효율성. 4 단계적
문제를 해결 하는 방법
효율성
가장 효율적인 방법은 무엇일까를 생각해야함
단계적
체계적으로 설명이 되어야 하기 때문에단계적도 포함
1. 컴퓨터 언어란?
컴퓨터와 대화하기위해서 사용하는 언어 입니다.
ex) c,c++ java 파이썬
2. 컴퓨터 알고리즘
컴퓨터를 이용하여 주어진 문제를 풀기 위한 방법이나 절차
ex)정렬알고리즘 , 해시알고리즘 , 최단거리알고리즘
3. 컴퓨터 프로그램
컴퓨터가특정 작업을 수행하기 위해 짜여진 명령의 순서
컴퓨터를 이용해서 어던 작업을 하려고 한다면 . 컴퓨터에게 할일을 하나씩 차례대로 알려줘야 합니다.
ex예제
우리집에서 회사까지 갈때 다음의 방법을 단계별로 설명해보세요
1. 택시를 타고
2. 지하철을 타고
3. 자전거를 타고
4. 걸어서
택시를 타고 회사가는 방법을
친구에게 단계적으로 설명한다고 생각해봅시다.
1. 택시를 타기위해서 대로변으로 이동해야합니다.
2. 택시를 향해서 타겠다는 사인을 보내야 합니다.
3. 택시가 서게되면 택시에 타서 목적지를 말합니다.
4. 택시가 목적지에 도착하면 차비를 지불하고 택시를 내립니다.
즉 알고리즘은
문제에 대해 해결책을 단계적으로 알려주는 것!이라고 생각할수있다.
회사에 도착하기 위한 가장빠른 방법은 무엇이고 가장 비용이 많이 드는 방법은 무엇일까요?
시간측면
1. 빠른 방법은 택시
2. 가장 느린방법 걸어서.
비용측면
3. 비용이 가장많이 드는것 택시
4. 비용이 가장 적게 드는것 걸어서
알고리즘을 설명하기위한 4단계
1. 문제 정의
해결하고자 하는 문제는 무엇인가.
입력과출력의 형태로 정의 될 수 있는가?
컴퓨터가 수행할 수 있는 형태로 전환이 가능합니까?
2. 알고리즘 설명
컴퓨터가 수행 할 내용은 하나씩 차례대로 정의한 과정
ex 빨래하는 방법
1. 지저분한 빨래를 모으고 (입력)
2. 빨래를 색별로 구별
3. 면, 모직등으로 다시 구분
4. 섬유유연제와 세제를 넣고 세탁기를 돌림
5. 빨래를 널고 1~2일 후
6. 깨끗한 옷을 얻는다 (출력)
ex _) 라면 끓이기
1. 냄비에 물을 500ml 붙고 .
2. 불을 켠다.
3. 물이 끓습니다.
4. 물이 끓으면 재료를 넣고 3분동안 기다립니다.
5. 3분이 지나면 라면을 먹습니다.
수치를 정확히 정의해주어야 합니다.
3. 정확성증명
과정대로 수행하면 출력으로 항상 올바른 답을 내보내는가?
잘못된 을 내보내는 경우는 없는가?
올바른 출력을 내보내고 정상적으로 종료되는가?
4. 성능 분석
수행시간.
사용공간