프로그래밍[Univ]/알고리즘 32

[알고리즘] 알고리즘의 효율성과 평가 / 데이터 구조와의 관계

1. 알고리즘의 효율성 프로그래머들은 알고리즘을 작성하기 위한 3가지 요소를 경험을 통해 알게 되었고 프로그램을 작성시 고려해야한다. > 그 세 가지 효율성 : 시간의 효율성, 공간의 효율성, 코드의 효율성 ⓐ 시간의 효율성 - 모든 알고리즘에서 가장 중요하게 생각해야 하는 요소 - 컴퓨터에서 실행하는 프로그램이 주어진 조건에 맞춰서 적은 시간을 사용하는 것이 좋음 무한대의 시간을 사용할 수 없음. 가능하면 적은 시간을 사용하는 것이 좋음. ex) 게임소프트웨어 : 동작에 대한 반응속도가 빨라야 한다. - 주어진 조건에서 문제를 해결하기 위해 가능한 한 빠른 실행 속도를 가진 효율적인 해결책을 찾는 것 문제 : Data라는 이름의 배열안에 1부터 1000까지의 모든 정수들이 차례대로 저장되어있다. 배열 ..

[알고리즘] 알고리즘(Algorithm)의 유래/개요

1. 알고리즘의 유래 - 사전적 의미 : 주어진 문제를 해결하기 위한 특별한 방법 - 공학적 의미 : 주어진 문제를 컴퓨터를 사용하여 풀기 위한 좀 더 효율적인 방법 > 효율적 : 실행속도가 빠르거나 메모리를 적게 차지하는 것 따위의 것 2. 알고리즘 이란? - 단순하게 생각하면 문제를 해결하는 방법으로 수학 공식과 다르게 정답이 정해진 것은 아니다. ex) 대학교 학생에게 학번을 부여하는 방법을 기술 하시오. 단, 학번은 학생고의의 번호로 하나의 번호를 두명이 가지지 못한다. > 위 문제에서는 만족시킬 조건이 알고리즘에 큰 영향을 주지 않기 때문에 알고리즘의 우열을 가릴수 없다. ex) 주민등록번호 : YYMMDD(탄생일) -(MorF)고유번호 > ⓐ 탄생일 ⓑ M/F구분 ⓒ 고유번호 부여방법(알고리즘..