일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 클린 코드
- REST API
- cache
- 재사용성
- Java
- 객체지향의 사실과 오해
- 캡슐화
- 추상화
- 캐시
- 쿼리 최적화
- JIT
- 객체
- JPA
- Lombok
- 인터프리터
- 객체지향
- 협력
- SRP
- 자바
- 캐싱
- string
- 클린코드
- clean code
- Refactor
- 스프링부트
- 스프링
- spring boot
- 리팩토링
- 도메인 모델
- 책임
- Today
- Total
목록Develop/자료구조 & 알고리즘 (4)
GO SIWOO!

📌 단순 선택 정렬이란 무엇인가? 단순 선택 정렬은 가장 작은 요소부터 선택해 알맞은 위치로 옮겨 순서대로 정렬하는 알고리즘이다. 위의 배열을 보면 [3]의 요소가 1로 배열의 가장 작은 요소 이므로 이를 [0]의 8과 교환을 하게 되면 가장 적은 수가 배열의 가장 앞으로 오는 것을 볼 수 있다. 그 후 두 번째로 작은 수인 [5]의 3을 [1]과 교환을 한다. 이처럼 배열에서 가장 적은 수를 찾아서 배열의 맨 앞으로 바꿔주는 것을 최대 요소수(n) - 1번만큼 반복한다면 배열을 오름차순으로 정렬을 할 수 있다. 단순 선택 정렬의 순서를 정리하자면 다음과 같다. 주어진 리스트 중에 최솟값(a[min])을 찾는다. 그 값(a[min])을 아직 정렬하지 않은 부분의 첫 번째 요소를 교환한다. 이미 정렬된 위..

📌 큐란 무엇인가? 큐(Queue)는 스택과 마찬가지로 데이터를 일시적으로 쌓아 두기 위한 자료구조이다. 앞서 스택과는 다르게 선입 선출(FIFO, First In First Out), 처음 들어온 것이 처음으로 나간다는 뜻으로 뒤쪽(rear)에 데이터를 삽입하고 앞쪽(front)에서 데이터를 꺼낸다. 여기서 데이터를 삽입하는 것을 인큐(Enqueue), 데이터를 꺼내는 것을 디큐(Dequeue)라고 한다. 다음은 인큐(Enqueue)가 일어는 곳이 뒤쪽(rear), 디큐(Dequeue)가 일어나는 곳이 앞쪽(front)이다. 🔍 큐의 특징 한쪽에서만 데이터의 삽입, 삭제가 이루어지는 스택과 다르게 삽입, 삭제 작업이 양쪽에서 이루어진다. 접근이 가능한 데이터는 front와 rear 2곳 뿐이다. 우선순..

📌 스택이란 무엇인가? 스택(Stack)은 데이터를 일시적으로 저장하기 위해 사용하는 자료구조로, 데이터의 입력과 출력 순서는 후입 선출(LIFO, Last In First Out), 마지막에 들어온 것이 먼저 나간다는 뜻이다. 스택에 데이터를 넣는 작업을 푸시(push), 꺼내는 작업을 팝(pop)이라고 한다. 아래는 스택에 푸시와 팝을 하는 과정을 그림으로 표현한 것이다. 후입 선출의 원리에 따라서 팝을 했을 때에 마지막에 푸시된 45가 꺼내지는 것을 볼 수 있다. 🔍 스택의 특징 같은 구조, 크기의 자료를 한쪽으로만 넣고 뺄 수 있다. (Top에서만 가능) 재귀 알고리즘에서 재귀적 실행을 줄이기 위해서 사용된다. 구조가 단순하여 구현이 쉽고 데이터 저장/읽기 속도가 빠르다. 📌 스택의 구성요소 스택..

- 버블 정렬이란 무엇인가? 버블 정렬은 이웃한 두 요소의 대소 관계를 비교하여 교환을 반복하는 정렬이다. 위의 배열에서 첫 째 pass에서는 배열의 [0]과 [1]번째 인덱스를 비교하여 오름 차순이 아닐경우 두 배열의 순서를 바꾸어 준다 (swap) 이를 [0] ~ [1]의 비교에서 [n - 2] ~ [n - 1]까지의 비교를 통해서 배열에서 제일 큰 값을 배열의 마지막에 저장을 하고 둘 째 pass에서는 첫 째 pass와 같이 [0] ~ [1]의 비교에서 [n - 3] ~ [n - 2]까지 비교를 통해서 배열에서 둘 째로 큰 값을 정렬한다. 이와같은 방법으로 총 (n - 1)번의 pass를 지나면 버블 정렬이 완료된다. - 버블 정렬 구현 ver.1 본 포스트에서는 버블 위에서 설명한 인덱스가 적은 ..