일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- LV.02
- LV03
- docker
- S3
- 알고리즘
- Kafka
- JPA
- 디자인 패턴
- spring boot
- 포트폴리오
- Redis
- Lv.0
- 일정관리 프로젝트
- Join
- 데이터 베이스
- Java
- 일정관리프로젝트
- CoffiesVol.02
- CI/CD
- 프로그래머스
- LV02
- 코테
- LV1
- mysql
- LV01
- 연습문제
- GIT
- SQL
- 이것이 자바다
- LV0
- Today
- Total
목록분류 전체보기 (204)
코드 저장소.
신용권 님의 ''이것이 자바다'' 6장 공부 기록 책을 보면서 배운 내용을 정리해봤습니다. 이전에 배운 부분이기도 하고, 비교적 간단한 내용을 다루고 있기 때문에 적어보기로 했습니다. 6.클래스 6.1.1. 객체란? 객체는 물리적으로 존재하거나 추상적으로 생각할 수 있는 것 중에서 자신의 속성을 가지고 있는 것과 식별 가능한 것. 객체는 속성과 동작으로 구성이 되어있습니다. 6.1.2. 객체의 상호작용 객체들은 각각 독립적으로 존재하고, 다른 객체와 서로 상호작용하면서 동작한다. 객체들 사이의 상호작용 수단은 메서드이고 객체가 다른 개체의 기능을 이용하는것이 메서드 호출이다. 6.1.3 객체지향 프로그래밍이란? 캡슐화(Encapsulation) 객체의 필드와 메소드를 하나로 묶고, 접근제한자를 사용하여 ..

목차 퀵정렬의 개념 퀵정렬의 장단점 퀵정렬의 코드구현(JAVA) 퀵정렬의 개념 퀵정렬은 병합 정렬과 마찬가지로 분할 정복 알고리즘을 이용한 정렬 알고리즘이며 가장 빠른 정렬 알고리즘. 퀵정렬의 방식 퀵정렬의 장단점 장점 불필요한 데이터의 이동을 줄이고 먼 거리의 데이터를 교환할 뿐만 아니라, 한 번 결정된 피벗들이 추후 연산에서 제외되는 특성 때문에, 시간 복잡도가 O(nlog₂n)를 가지는 다른 정렬 알고리즘과 비교했을 때도 가장 빠르다. 정렬하고자 하는 배열 안에서 교환하는 방식이므로, 다른 메모리 공간을 필요로 하지 않는다. 단점 불안정 정렬(Unstable Sort) 이다. 정렬된 배열에 대해서는 Quick Sort의 불균형 분할에 의해 오히려 수행시간이 더 많이 걸린다. 퀵정렬의 구현(JAVA)..

목차 병합정렬의 개념 병합정렬의 방식 병합정렬의 장단점 병합정렬의 코드구현(JAVA) 병합정렬의 개념 병합정렬은 분할정복방식을 사용해서 데이터를 분할하고 분할한 집합을 정렬하며 합치는 정렬. 분할정복방식: 큰 문제를 작은 문제로 쪼개어서 푼 후 합쳐서 전체 문제의 답을 찾는 방식. 병합정렬의 방식 병합정렬의 장단점 장점 병합 정렬은 최선의 경우에도, 최악의 경우에도 O(nlog₂n)의 시간이 소요되기 때문에 데이터 분포에 영향을 덜 받는다. 항상 동일한 시간이 소요되므로 어떤 경우에도 좋은 성능을 보장받을 수 있다. 단점 병합 정렬은 in place 알고리즘이 아니기 때문에 별도의 메모리 공간이 필요하다. 만약에 정렬할 데이터의 양이 많은 경우에는 그만큼 이동 횟수가 많아지므로 시간적인 낭비도 많아지게 ..

목차 삽입정렬의 개념 삽입정렬의 방식 삽입정렬의 장단점 삽입정렬의 코드구현(JAVA) 삽입정렬의 개념 삽입정렬은 선택한 요소를 그보다 더 앞쪽의 이미 정렬된 배열 부분과 비교하여 알맞은 위치이 '삽입' 하는 작업을 반복하여 정렬입니다. 삽입정렬의 방식 1회전 Key 값 5와 첫 번째 자료인 8을 비교한다. 8이 5보다 크므로 8을 5자리에 넣고 Key 값 5를 8의 자리인 첫 번째에 기억시킨다. 2회전 Key 값 6과 두 번째 자료인 8을 비교한다. 8이 Key 값보다 크므로 8을 6이 있던 세 번째 자리에 기억시킨다. Key 값 6과 첫 번째 자료인 5를 비교한다. 5가 Key 값보다 작으므로 Key 값 6을 두 번째 자리에 기억시킨다. 3회전 Key 값 2와 세 번째 자료인 8을 비교한다. 8이 Ke..

목차 선택정렬의 방식 선택정렬의 장단점 선택정렬의 코드구현(JAVA) 선택정렬의 개념 서로 인접한 두 원소를 검사하여 정렬하는 알고리즘을 말한다. 선택정렬의 방식 1회전 첫 번째 자료 9를 두 번째 자료부터 마지막 자료까지와 비교하여 가장 작은 값을 첫 번째 위치에 옮겨 놓는다. 이 과정에서 자료를 4번 비교한다. 2회전 두 번째 자료 6을 세 번째 자료부터 마지막 자료까지와 비교하여 가장 작은 값을 두 번째 위치에 옮겨 놓는다. 이 과정에서 자료를 3번 비교한다. 3회전 세 번째 자료 7을 네 번째 자료부터 마지막 자료까지와 비교하여 가장 작은 값을 세 번째 위치에 옮겨 놓는다. 이 과정에서 자료를 2번 비교한다. 4회전 네 번째 자료 9와 마지막에 있는 7을 비교하여 서로 교환한다. 선택정렬의 장단점..

목차 버블정렬의 개념 버블정렬의 방식 버블정렬의 장단점 버블정렬의 코드구현(JAVA) 버블정렬의 개념 서로 인접한 두 원소를 검사하여 정렬하는 알고리즘을 말한다. 버블정렬의 방식 초기배열에 7,4,5,1,3이 있다고 가정을 해보자. 1회전 첫 번째 자료 7을 두 번째 자료 4와 비교하여 교환하고, 두 번째의 7과 세 번째의 5를 비교하여 교환하고, 세 번째의 7과 네 번째의 1을 비교하여 교환하고, 네 번째의 7과 다섯 번째의 3을 비교하여 교환한다. 이 과정에서 자료를 네 번 비교한다. 그리고 가장 큰 자료가 맨 끝으로 이동하므로 다음 회전에서는 맨 끝에 있는 자료는 비교할 필요가 없다. 2회전 첫 번째의 4을 두 번째 5와 비교하여 교환하지 않고, 두 번째의 5와 세 번째의 1을 비교하여 교환하고, ..