본문 바로가기

Algorithm2

(191201) 알고리즘 - 버블 정렬 (Bubble sort) 버블 정렬 (Bubble sort) - 오름차순 기준 버블 정렬 알고리즘은 서로 인접한 두 원소를 검사하여 정렬하는 알고리즘이다. 예를 들어 [9,4,7,1,2] 라는 배열이 있다고 가정해서 버블 정렬이 어떻게 되는지 알아 보았다. [1] 1. 배열의 첫번째 원소인 9와 그 다음 두번째 원소인 4를 비교한다. 9는 4보다 크기 때문에 9와 4의 자리를 교환한다. [4,9,7,1,2] 2. 그 다음 배열의 두번째 원소와 세번째 원소를 비교한다. 9는 7보다 크기 때문에 9와 7을 교환한다. [4,7,9,1,2] 3. 그 다음도 마찬가지로 진행한다. [4,7,1,9,2] [4,7,1,2,9] 4. 마지막 원소는 그 다음 원소가 없기 때문에 첫번째 순회 종료 [2] 1. 다시 배열의 처음 원소부터 [1]번의 .. 2019. 12. 1.
(191119) 시간복잡도 (Time Complexity) 알고리즘 (Algorithm) 어떤 목적을 달성하거나 결과물을 만들어내기 위해 거쳐야하는 일련의 과정들을 의미 즉, 한 문제를 해결할 때 같은 결과를 내더라도 여러 알고리즘이 사용될 수 있다. 알고리즘은 각기 다른 모양과 형태를 갖고 있고, 개발자들은 문제를 해결할때 최대한 효율적으로 시간과 공간(메모리)를 사용하고 싶어 하기에 쓰인 알고리즘의 수행 시간과 메모리 사용량을 평가하여 최대한 걸리는 시간과 메모리를 적게 쓰려고 한다. 복잡도 (Complexity) 알고리즘의 수행 시간과 메모리 사용량을 평가하기 위해서 복잡도라는 개념을 사용한다. - 시간 복잡도 (Time complexity) 알고리즘의 수행 시간 분석 결과 - 공간 복잡도 (Space complexity) 알고리즘의 메모리 사용량에 대한 .. 2019. 11. 20.