일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 데브코스
- redshift
- 데이터베이스
- http
- airflow.cfg
- PYTHON
- 데이터 웨어하우스
- 정리
- 데이터 엔지니어링
- HADOOP
- airflow
- Django
- 데이터엔지니어링
- Docker
- 종류
- 파이썬
- AWS
- S3
- 컴퓨터네트워크
- dockerfile
- 가상환경
- linux
- 운영체제
- Go
- 자료구조
- 데이터 파이프라인
- TIL
- 컴퓨터 네트워크
- sql
- TCP
- Today
- Total
목록2024/08 (6)
홍카나의 공부방
기수 정렬이라고 번역되는 Radix Sort, 자릿수 정렬이라고 생각하면 이해가 더 쉬울 것이다. 기수 정렬은 말 그대로 자릿수와 정수를 이용해서 정렬을 하는데, 정수로 이루어진 배열을 정렬할 때 유독 사용하기 좋다. 한 번 살펴보자. 0부터 9를 담을 수 있는 큐 10개를 만든다. 여기서 큐를 만든 것은, 먼저 들어간 원소를 쉽게 제거할 수 있는 FIFO 자료구조를 사용한 것이다. 큐 대신에 리스트나 덱을 이용해도 구현은 할 수 있겠지만, 큐를 예시로 들어보겠다. 입력으로 예시 삼을 리스트가 [170, 45, 75, 90, 2, 802, 2, 66] 라고 가정하자. 여기서 각 정수들의 1의 자릿수만 살펴보면 다음과 같다. [0, 5, 5, 0, 2, 2, 2, 6] 1의 자릿수의 숫자에 맞게 해당 숫..
합병 정렬은 분할 정복(devide & conquer) 방법에 속하는 정렬 알고리즘이다. 문제를 쪼개서, 작게 나누고, 해결하는 방법이다. 어느 컴퓨터공학과든 자료 구조 시간에 이 머지 소트는 무조건 배우고 간다고 생각할 정도로 기본적인 알고리즘이라고 본다. 머지소트는 다음의 단계를 거친다.1. 정렬되지 않은 리스트를 원소를 1개 가지는 N 개의 서브리스트로 나눈다. (N = 리스트의 길이). 나눌 때는 절반씩 쪼개게 된다.2. 서브 리스트를 합치면서 정렬을 하고, 원소를 N개 가지는 1개의 리스트까지 합병한다. 합병 과정에서 어떻게 정렬하는지 살펴보면, 아래와 같이 합병 과정 중인 2개의 서브리스트가 있을 때 로직은 다음과 같다. 1. i와 J가 기리키는 숫자의 대소관계를 비교하고, 작은 숫자를 ..