정렬 2

2. 정렬 알고리즘(1)

2. 삽입정렬 삽입정렬은 적절한 위치에 삽입하는 방법으로 정렬한다. 버블정렬과 비슷하면서도 조금 다른데, 삽입정렬은 기준점을 주어서 그 값이 어디로 움직여야 하는지를 정하는것으로 이해하는 것이 편하다. 이렇게 나열된 숫자들이 있을때 순서대로 나열하려고 하면 이렇게 앞의 2를 1과 3 사이로 넣어주면 정렬이 끝난다. 이는 하나의 숫자를 모든 숫자들과 비교해서 적절한 위치에 배치하는 방법이다. 이전과 같이 C언어로 [1, 10, 5, 4, 3, 9, 6, 8, 7, 2] 을 삽입정렬을 통해 순서대로 배열하였다. 이 방법은 삽입정렬의 개념을 들었을때 스스로 작성해본 코드로 확실한지, 오류가 있을지는 확실하지 않다. 단지 위 배열을 정확하게 배열하고 개념에 맞는 프로그래밍을 했다고 생각해서 예시로 올린다. 설명..

코딩/알고리즘 2019.06.10

2. 정렬 알고리즘

알고리즘을 공부할 때 가장 먼저 시작하는게 정렬 알고리즘이다. 이유는 정렬 알고리즘만큼 알고리즘의 효율성 차이를 보여주는 것이 드물기 때문이다. 정렬 알고리즘은 데이터를 비교해서 원하는 순서대로 나열하는데 사용되는 알고리즘이다. 정렬 알고리즘에는 다양한 알고리즘이 있지만 기본적인 알고리즘 3가지을 가지고 효율성을 알아보자 1. 버블 정렬 버블 정렬은 나열된 두 값을 비교해서 원하는 순서로 바꾸는 것을 의미한다. 위와 같이 나열된 숫자들이 있을 때 이렇게 두자리씩 비교해서 작은건 앞으로 큰건 뒤로 옮기면 1234로 나열할 수 있다. 이와 같이 연속된 두자리를 비교해서 순서를 바꾸는 정렬이 버블 정렬이다. c 언어을 이용하여 [1, 10, 5, 4, 3, 9, 6, 8, 7, 2] 을 작은 순서대로 배열하는..

코딩/알고리즘 2019.06.07
728x90