알고리즘 풀이 - 백준 11728(배열 합치기, 분할정복) 관련글 분할정복 관련 포스팅은 여기를 참조 1. 개요 문제의 링크는 여기를 참조 문제의 내용은 아래의 더보기를 클릭하여 참조 더보기 정렬된 두 배열 A, B를 합치고 정렬해서 출력하는 문제 2. 풀이 이 문제는 정렬된 두 배열을 합치는 것이므로 단순히 병합 정렬 중 병합을 진행하는 문제이다. 병합 정렬 관련된 내용은 여기를 참조하고 단순한 문제이니 바로 코드를 통해 이해하자. 3. 코드 아래의 코드를 통해 정답을 알아보자. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main{ public static.. 알고리즘 풀이(Problem Solving)/분할정복(Divide&Conquer) 4년 전
알고리즘 - Quick(퀵) vs Merge(병합) 정렬(+TCO, 참조 지역성) 해당 포스팅은 표준(Standard)적인 퀵 / 병합 정렬의 경우에 대해 설명합니다. 각 정렬 방식의 응용에 따라 다양한 Variation이 있는 부분은 감안하지 않았습니다. 퀵 정렬과 병합 정렬 차이 우선 기본적으로 퀵 / 병합 정렬이 무엇인지 다시 한 번 간단히 알아보자.(관련 포스팅은 여기 → 퀵 / 병합) 귀찮은 분들을 위해 간단히 코드는 아래의 접힌 글에 써놓았다. 더보기 1) 퀵 정렬 public class QuickSort{ public static void main(String[] args){ int[] arr = new int[100]; for(int i=0; i < arr.length; i++){ arr[i] = (int)(Math.random() * 100); } quickSort(a.. 자바 프로그래밍/알고리즘(Algorithm) 4년 전
자료구조 - 정렬 3 (Merge) 전체 정렬 개요의 설명은 여기를 참조 Bubble / Selection / Insertion 정렬의 설명은 여기를 참조 Shell 정렬의 설명은 여기를 참조 Quick 정렬의 설명은 여기를 참조 Heap 정렬은 우선순위 큐에서 사용하는 정렬이므로 해당 포스팅 여기를 참조 Counting 정렬의 설명은 여기를 참조 Radix 정렬의 설명은 여기를 참조 Bucket 정렬의 설명은 여기를 참조 Topological 정렬의 설명은 여기를 참조 Merge Sort(병합 정렬) 애니메이션만 봐도 굉장히 쉽게 이해할 수 있다. 아래를 확인하자. 병합 정렬은 존 폰 노이만(John von Neunmann)이 제안한 Stable 정렬의 기법이다. 위의 애니메이션만 봐도 쉽게 이해가 가능한데, 말 그대로 기존의 배열을 반.. 자바 프로그래밍/자료구조(Data Structure) 4년 전