역량 강화/자료 구조 LimePapa 2017. 5. 6. 20:15
안녕하세요 연두아빠에요. 어린이날이라 가족과 함께 하다 보니 며칠 포스팅을 쉬게 되었네요. 오늘부터 다시 열심히 달려야겠네요. 두번째 기초 정렬 알고리즘은 버블 소트, 거품 정렬 등으로 불리우는 버블 정렬입니다. 버블 정렬은 서로 인접한 두개의 데이터를 비교해 큰 데이터를 뒤로 보내며 정렬하는 방식입니다. 거품이 뽀글 뽀글 올라가듯이 데이터가 계속해서 뒤로 밀려나는 형태를 띄고 있어 버블 정렬이라는데... 뭐 그런가 봅니다... 왜 그런 명칭이 붙었는 가도 중요하니 알고는 있는게 좋겠네요. 역시나 그림을 보며 따라가다보면 쉽게 이해가 되실 것 같아요. 위와 같이 정렬이 되어 있지 않은 다섯 개의 숫자가 있습니다. 버블 소트는 단순히 맨 앞에서부터 두개씩 계속해서 비교를 하며 큰 수를 뒤로 보내면 됩니다...
역량 강화/자료 구조 LimePapa 2017. 4. 30. 19:16
안녕하세요. 연두아빠에요. 자료구조 포스팅 첫번째 주제로 기초 정렬 알고리즘을 훑고 지나가보려고 합니다. 첫번째 정렬 알고리즘은 선택 정렬입니다. 가장 기초적인 정렬 알고리즘이라고 할 수 있겠죠. 선택 정렬은 아마 초등학생들을 상태로 이 숫자를 정렬해보라고 하면, 아마 십중팔구 이 방식을 이용해서 정렬을 할 것이라고 생각 될 정도로 단순한 방법입니다. 정렬 알고리즘에 있어 대부분 단순하다는 말은 곧 비효율 적이라는 말과 동일합니다. 계속해서 선형 탐색(Linear Scan)하며 반복해서 가장 작은 숫자를 찾아 앞으로 보내는게 끝입니다. 그림을 보며 따라가보면 쉽게 이해될 것 같습니다. 위와 같이 정렬이 되어 있지 않은 다섯 개의 숫자가 있습니다. 선택 정렬은 그냥 맨 앞에서 부터 가장 작은 숫자를 찾는 ..