일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 26 | 27 | 28 | 29 | 30 | 31 |
- 개발자 취업
- CS
- 회고
- 정렬 알고리즘(sort algorithm)
- 코딩테스트 준비
- HTML
- 프로그래머스
- cs 공부)준비
- Grafana
- github
- 자바
- 코딩공부
- 메서드
- Til
- wil
- 99클럽
- Java
- css
- ArrayList
- 항해99
- aop
- Entity
- 코딩문제
- 면접(java
- 배열
- GIT
- 이진 탐색(binary search)
- Spring
- 자료구조
- 코딩
- Today
- Total
목록전체 글 (174)
hayu's 개발 일지

공부한 내용패키지와 계층 구조패키지는 보통 다음과 같이 계층 구조를 이룬다.abc이렇게 하면 다음과 같이 총 3개의 패키지가 존재한다. a , a.b , a.c계층 구조상 a 패키지 하위에 a.b 패키지와 a.c 패키지가 있다.그런데 이것은 우리 눈에 보기에 계층 구조를 이룰 뿐이다. a 패키지와 a.b , a.c 패키지는 서로 완전히 다른 패키지이다.따라서 a 패키지의 클래스에서 a.b 패키지의 클래스가 필요하면 import 해서 사용해야 한다. 반대도 물론 마찬가지이다.정리하면 패키지가 계층 구조를 이루더라도 모든 패키지는 서로 다른 패키지이다.물론 사람이 이해하기 쉽게 계층 구조를 잘 활용해서 패키지를 분류하는 것은 좋다. 참고로 카테고리는 보통 큰 분류에서 세세한 분류로 점점 나누어진다. 패키지도..
공부한 내용패키지(package)컴퓨터는 보통 파일을 분류하기 위해 폴더, 디렉토리라는 개념을 제공한다. 자바에서 이런 개념을 제공하는 것이 패키지이다.⇒ 클래스의 묶음으로 클래스를 용도별이나 기능별로 그룹화한 것을 말한다.예시.* user * User * UserManager * UserHistory* product * Product * ProductCatalog * ProductImage* order * Order * OrderService * OrderHistory* cart * ShoppingCart * CartItem* payment * Payment * PaymentHistory* shipping * Shipment * ShipmentTracker패키지를 사용하는 경우 항상 코드 첫줄에 pac..

학습 키워드- 정렬 알고리즘(Sort Algorithm) 공부한 내용정렬 알고리즘 - 3 : 선택 정렬 (Selection Sort)선택 정렬은 주어진 배열에서 최소값을 찾아서 맨 앞의 원소와 자리를 바꾸고 그 다음으로 작은 값을 찾아서 두 번째 원소와 자리를 바꾸는 식으로 정렬하는 알고리즘 중 하나이다.→ 맨 앞 인덱스부터 차례대로 들어갈 원소를 선택하여 정렬하는 알고리즘이다.정렬할 원소의 개수가 적을 때나 이미 거의 정렬된 상태일 때 사용될 수 있다.그러나 대부분의 경우 다른 정렬 알고리즘보다 느리고 비효율적이기 때문에, 실제로 사용되는 경우는 드물다. (버블 정렬보다 성능이 좋다.)선택 정렬의 동작 방식배열에서 가장 작은 요소(최소값)를 찾는다.가장 작은 요소와 배열의 첫 번째 요소를 교환한다.두 ..

학습 키워드- 정렬 알고리즘(Sort Algorithm) 공부한 내용정렬 알고리즘(Sort Algorithm)정렬 알고리즘(Sort Algorithm)은 데이터를 특정한 기준에 따라 순서대로 정렬하는 알고리즘을 말한다.→ 원소들을 일정한 순서대로 열거하는 알고리즘이다.정렬 알고리즘의 특징순서가 바뀌지 않는다.→ 동일한 값을 가진 요소들의 순서가 정렬 전후로 변하지 않는 특징을 가지는 것을 의미한다.→ 동일한 값을 가진 두 요소가 정렬되기 전에는 첫 번째 요소가 두 번째 요소보다 앞에 위치하고, 정렬된 후에도 첫 번째 요소가 두 번째 요소보다 앞에 위치하게 된다.⇒ 정렬 알고리즘이 동일한 값의 순서를 보존한다정렬 알고리즘 - 1 : 퀵 정렬(QuickSort)퀵 정렬 알고리즘은 분할 정복(Divide an..

학습 키워드- 이진 탐색(Binary Search) 공부한 내용이진 탐색 예시해당 예시로 int[] arr = {1, 3, 5, 8, 11, 15, 30, 32, 45}이고 key 값이 8인 경우의 이진탐색을 찾는 원리를 확인한다.while문으로 구성하는 이진 탐색아래의 예시는 정렬된 배열 arr에서 key 값을 찾는 이진 탐색을 구현한 예시이다.public class BinarySearchWhile { public static int binarySearch(int[] arr, int target) { int left = 0; int right = arr.length - 1; while (left 재귀함수를 이용한 이진 탐색높은 인덱스가 낮은 인덱스보다 크거나 ..

학습 키워드- 이진 탐색(Binary Search) 공부한 내용이진 탐색(Binary Search)‘정렬된 배열’에서 ‘특정 값’을 찾는 알고리즘을 의미한다.이진탐색은 ‘탐색 범위를 절반씩 줄여’나가기 때문에 선형탐색에 비해 빠른 속도를 보장한다. 하지만 배열이 정렬되어 있어야 한다는 조건이 필요하기 때문에 배열이 정렬되어 있지 않은 경우에는 정렬작업이 필요하다.데이터의 중앙값과 찾고자 하는 값을 비교해 데이터의 크기를 절반씩 줄이면서 대상을 찾는 방식이다.예) 크기가 100인 배열이 있고, 우리가 찾고자 하는 값이 99번째 인덱스에 들어있는 상황을 가정해 보자.일반적인 반복문을 사용하여 1부터 100까지 반복하면 99번째 반복에서 찾고자 하는 값을 찾을 수 있다. 물론 이 경우 찾고자 하는 데이터가 앞..