목록알고리즘 (2)
여행을 개발하다
안녕하세요! 오늘 포스팅 할 내용은 정렬 알고리즘의 하나인 '버블 정렬(Bubble Sort)'입니다. 데이터들은 여러 가지 방법으로 정렬되어 오름차순 혹은 내림차순 등으로 순서가 정해지는데요. 사실 정렬하는 방법에도 여러가지가 있다는 것을 알고 계셨나요? 실제로 컴퓨터가 내부에서 데이터를 정렬할 때, 어떤 정렬 방식을 쓰느냐에 따라서 시간의 효율성이 좌우됩니다. 물론 사람도 금방 할 수 있는 작은 양의 데이터라면 큰 차이는 없겠지만요. 그러나 방대한 양의 데이터를 다룰 때는, 그 효율성이 어마어마하게 달라지겠죠? 그럼 총 5가지로 구분하는 정렬 알고리즘, 그 중에서도 버블 정렬에 대해 알아보겠습니다. 1. 시간 효율성 먼저 시간 효율성에 대해서 알고 가겠습니다. 시간 효율성이란 '알고리즘을 실행하여 종..
안녕하세요!! 오늘 포스팅할 내용은 2차원 배열의 3번째 응용 예제, '달팽이 배열 만들기'입니다. 달팽이 배열은 정보처리기사 알고리즘 파트 등에서 빈번하게 출제되는 유형입니다. 그럼 배열은 어떻게 구성되어 있는지 살펴보고, C++ 알고리즘으로 구현해보도록 하겠습니다. 1. 달팽이 배열 말 그대로 달팽이 집 모양처럼 생긴 배열을 의미합니다. 여기서 숫자의 배열 형태를 보시면, 안쪽으로 휘말려 들어가는 모양을 하고 있습니다. 그런데 블록을 잡고 자세히 보시면, 5, 4, 4, 3, 3, 2, 2, 1, 1... 의 방식으로 반복되며 채워지는 걸 확인하실 수 있습니다. 그렇다면 이러한 규칙성에 기반해서 코드를 짜보도록 하겠습니다. 2. C++로 달팽이 배열 만들기 2-1. 정적 할당으로 만들기 항상 그래왔던..