[JAVA] 이진 탐색/이분 탐색
·
공부
이진 탐색(Binary Search)정렬된 배열에서 특정 값을 찾는 알고리즘탐색 범위를 절반씩 줄여 나가기 때문에 선형탐색에 비해 빠른 속도 보장시간 복잡도 O(logn) 상대적으로 매우 빠름이때 선형 탐색이란?- 배열(Array)이나 리스트(List)와 같은 데이터 구조에서 처음부터 끝까지 하나씩 값을 비교하면서 찾는 값을 찾을 때까지 탐색- 즉, 정렬되지 않은 상태에서 찾는 것으로 이진탐색과 다른점시간 복잡도 O(n)배열의 ‘중간 값’ 을 선택하여 찾고자 하는 값과 비교만약 중간 값이 찾고자 하는 값보다 크면 ‘배열 왼쪽 부분’에서 탐색을 진행중간 값이 찾고자 하는 값보다 작으면 ‘배열 오른쪽 부분’에서 탐색을 진행이 과정에서 찾고자 하는 값이 나올 때까지 반복이진탐색 과정정렬된 배열 array에서 ..
[JAVA] Arrays.sort() 오름차순 내림차순
·
공부
자바에서 정렬을 할 경우 Arrays의 sort()함수를 많이 사용하는데!! 정확하게 알아보자:) Arrays 사용하려면 import java.util.Arrays; 해줘야함!!1. 오름차순어떤 배열이든 미리 선언을 해야함!Arrays.sort()함수를 사용하면된다 ^,^int[] array = {3,4,1,2,5}; //int[] array = new int[] {3,4,1,2,5};Arrays.sort(array); **배열 출력시1) Arrays의 toString() 사용System.out.println(Arrays.toString(array)); //[1,2,3,4,5]그냥 array 혹은 array.toString() 할 시 메모리주소값 출력되니 주의하자! 2) 반복문사용for (int i ..
JUnit 테스트의 구조
·
공부
JUnit 테스트의 구조 → AAA 패턴 이는 Arrange(준비), Act(실행), Assert(단언)의 약자로, 각 단계에서 수행되는 작업을 의미💡 Intellij 테스트 단축키 (클래스에서) cmd + Shift + T테스트 하기 전!어떤 테스트 코드가 다른 테스트에 영향을 주는 것을 최소화 테스트 클래스에서 static 필드를 피하자! 테스트 메서드에서 시험하는 시나리오를 정확하게 요약해서 설정@Test해당 메소드가 단위 테스트임을 명시하는 어노테이션테스트 패키지 하위의 `@Test` 어노테이션이 붙은 메소드를 단위 테스트로 인식하여 실행테스트 이름이 함수 이름이 default로 지정됨@DisplayName읽기 좋은 다른 이름을 부여 가능코드 예시@Test@Displayname("두 값의 산술 ..