알고리즘/이론

알고리즘/이론

[JAVA] 카운팅 정렬 step3 완벽 이해

내가 이해하기 어려웠던 카운팅 정렬... 하나씩 따라쳐보며 이해하기 ! 1. 서론 int[] arr = {5, 2, 4, 1, 2, 3, 3}; 해당 배열을 오름차순으로 재배치하기 위해서 [버블 정렬, 선택정렬] 등 많이 있겠지만 이는 O(n^2)의 시간복잡도, 빅오를 가져서 효율적인 정렬 방법과는 뒤떨어진다. 하지만 카운팅 정렬은 항목들의 순서를 결정하기 위해 집합에 각 항목이 몇 개씩 있는지 세는 작업을 하여, 선형시간(O(n+k))에 정렬하는 효율적인 알고리즘이다. n은 배열의 길이, k는 정수의 최대값이다. 2. 카운팅 정렬 import java.util.Arrays; public class 카운팅정렬 { public static void main(String[] args) { int[] arr ..

알고리즘/이론

[JAVA] 이웃한 요소와의 차의 절대값 구하기 - 델타배열 활용

1. 문제 예를 들어 위와 같은 표가 있을 때 4방의 수와 차를 구하고, 그 차를 절대값 취하는 방법이다. result = |7-2|+|7-12|+|7-6|+|7-8| 2. 해결 public class 이차원배열_연습문제 { public static void main(String[] args) { //int[][] arr1= {{1,2,3,4,5},{6,7,8,9,10},{11,12,13,14,15},{16,17,18,19,20},{21,22,23,24,25}}; //랜덤 수 int[][] arr1=new int[5][5]; for(int i=0;i

SHIN SANHA
'알고리즘/이론' 카테고리의 글 목록 (2 Page)