일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- api 요청 수 제한
- 프론트엔드 과제
- 음악 url 파일 다운로드
- api 비동기처리
- oauth
- concurrency limit
- AWS
- 코멘토 #코멘토실무PT #실무PT후기 #실무강의 #리액트강의 #웹프로그래밍 #react #웹개발실무
- 우아한테크코스
- Dev-Matching
- NestJS
- Deep Dive
- compateto
- 검색
- 스프링부트
- 딥다이브
- 파일 url
- 프리코스
- 프로그래머스
- this
- bucket4j
- 우아한 테크코스
- 자바스크립트
- TypeORM
- 프론트엔드
- 모던 자바스크립트
- 타입스크립트
- invalid_grant
- 유효시간 설정 url
- redis
- Today
- Total
목록자료구조/정렬 (5)
개발 알다가도 모르겠네요
합병 정렬을 간단하게 설명하면? 분할 정복을 이용한 정렬! 모든 숫자를 다 나눈 다음에 비교해 병합하는 분할, 정복 방식의 정렬입니다. 각각의 배열이 독립적으로 분할될 때까지 반으로 나눕니다. 독립적으로 분할된 배열들(왼쪽그룹과 오른쪽 그룹)을 차례차례 비교해 정렬하고 합칩니다. 위의 과정은 분할과정과 정복과정으로 나누어지며 마침내 결합하는 순환적인 형태를 띠고 있습니다. 구현 과정 import java.util.*; public class Main { //합병과정 static void merge(int[] A, int left, int mid, int right) { int i=left; //i는 왼쪽(시작)부터. (왼쪽 그룹) int j=mid+1; //j는 mid+1부터. (오른쪽 그룹) int[]..
퀵 정렬을 간단하게 설명하면? 분할 정복을 이용한 가장 빠른 정렬! 임의의 피봇을 정한 뒤 피봇의 위치를 확정해가며 정렬하는 구조입니다. 최초의 피봇을 정한 뒤 작은 값은 왼쪽으로, 큰 값은 오른쪽으로 배열합니다. 피봇을 기준으로 왼쪽 퀵 소트, 오른쪽 퀵 소트를 진행합니다. 위의 과정은 분할과정과 정복과정으로 나누어지며 순환적인 형태를 띠고 있습니다. 구현 과정 - 1 (pivot을 end로 설정) import java.util.*; public class Main { static void quicksort(int[] A, int start, int end) { if(start
버블 정렬을 간단하게 설명하면? 정렬하는 모습이 마치 거품이 올라오는 모습 같아 버블 정렬! 두 숫자 (인접한 배열) 를 비교해 스왑하면서 정렬하는 방식입니다. 한 번의 스캔마다 최댓값이 제일 오른쪽에 위치하게 됩니다. 구현 과정 import java.util.*; public class Main { public static void main(String[] args) { int[] A= {70, 20, 10, 80, 60, 90, 30, 40, 100, 50}; for(int i=0; i
삽입 정렬을 간단하게 설명하면? 손에 든 카드를 정렬하는 것처럼 새로운 값을 정렬된 배열에 올바르게 삽입하는 정렬! 선택 정렬처럼 정렬된 배열과 정렬되지 않은 배열로 구별해서 정렬한다는 점에서 유사합니다. 그러나 선택정렬과는 달리 삽입 정렬은 값이 삽입되면 정렬된 배열 사이에서 자신의 자리를 찾아가며 정렬합니다. 구현 과정 import java.util.*; public class Main { public static void main(String[] args) { int[] A= {70, 20, 10, 80, 60, 90, 30, 40, 100, 50}; for(int i=0; iA[j]) { //j는 0보다 크고(어차피 j가 1일 때 자동으로 비교되니까) j-1이 j보다 클 경우. int temp=A..
선택 정렬을 간단하게 설명하면? 가장 작은 숫자를 선택하는 방식으로 정렬을 진행하기 때문에 선택 정렬! 배열의 최솟값을 찾아 첫 번째 인덱스부터 차례대로 그 자리에 스왑 합니다. 최솟값이 들어간 배열은 더 이상 건들지 않습니다. 이미 정렬이 된 인덱스들이기 때문이죠. 정렬이 안된 인덱스들 중에서 다시 최솟값을 알아내 정렬이 된 인덱스 다음 인덱스에 넣습니다. 구현 과정 import java.util.*; public class Main { public static void main(String[] args) { int[] A= {70, 20, 10, 80, 60, 90, 30, 40, 100, 50}; for(int i=0; i