삽입정렬- 배열의 모든 요소를 앞에서부터 차례대로 이미 정렬된 부분과 비교하여 자신의 위치를 찾아 삽입함- 시간 복잡도:O(n^2)- 배열의 두 번째 데이터 부터 연산을 시작함 정렬방법- 두번째 인덱스 부터 시작( 해당 인덱스를 키값으로 지정)- 키값 왼쪽에 위치한 배열은 정렬 된 상태(처음엔 정렬되어 있다고 가정 : 배열의 크기가 1이므로)- 정렬된 배열의 값이 키값보다 크면 위치를 교환한다- 정렬된 배열의 값이 키값보다 작으면 교환을 중지한다(정렬된 배열중 자기자신 보다 작은 값 뒤 큰 값 앞에 위치)- 키값으로 지정되었던 인덱스 까지 정렬되었으므로 다음 인덱스를 다시 키값으로 지정하고 반복 ex) 사진 예시 [1회전] [2회전] [3회전] [4회전] Java로 구현한 삽입정렬
합병정렬- 여러 개의 정렬된 자료의 집합을 결합하여 한 개의 정렬된 집합으로 만드는 방법- 분할 정복(Divide and Conquer)방식으로 설계된 알고리즘- 문제를 반으로 쪼개 문제를 해결해 나가는 방식 , 분할은 배열의 크기가 1보다 작거나 같을 때 까지 반복한다- 시간복잡도 : O(nlogn) 정렬 방법분할- 현재 배열을 반으로 쪼갠다- 배열 시작 위치와 종료위치를 입력받아 둘을 더한 후 2를 나눠 그 위치를 기준으로 나눈다- 쪼갠 배열의 크기가 0이거나 1 일때 까지 반복한다 합병- 두 배열 A,B의 크기를 비교한다- 두 배열의 시작 인덱스를 저장한다- 두 배열의 맨 앞의 값을 비교하여 이 중 작은 값(오름 차순일 경우)을 새 배열에 저장하고 작은값을 추출한 배열의 인덱스를 증가시켜 준다- 이..
버블정렬 - 인접한 두 수를 비교해서 큰 수를 뒤로 보내는 방식- 시간 복잡도 : O(n^2)- 코드가 단순해 자주 사용된다- n개의 원소에 대하여 n개의메모리 사용- 최선의 경우 : 자료가 이미 정렬되어 있는 경우 , 최선의 경우에도 계속해서 반복하지 않도록 정렬되어 있는 경우 다음 패스를 수행하지 않도록 수정할 수 있다- 최악의 경우 : 자료가 역순으로 정렬되어 있는 경우 정렬 방법- 배열의 첫번째 값과 두번째 값의 크기를 비교한다- 더 큰 값을 뒤로 보낸다- 비교하는 배열의 위치를 하나씩 증가하며 위 항목을 반복한다- 배열의 끝까지 비교 했다면 처음 부터 위 작업을 반복하되 비교했던 요소중 제일 마지막 값은 제외 한다 ex) 사진 예시 ex 2ex 1 Java로 구현한 버블정렬
- Total
- Today
- Yesterday
- 스택
- mariadb데이터 타입
- 자료구조
- 스프링 부트 에러
- hash algorithm
- 데크
- org.springframework.beans.factory.BeanDefinitionStoreException
- mysql 데이터 타입
- mariadb설치
- 400 error
- hash알고리즘
- 알고리즘
- 큐
- Stack
- spring boot org.springframework.beans.factory.BeanDefinitionStoreException
- HTTP
- 스프링 부트 시작 에러
- mysql 세팅
- mariadb
- Data Structure
- 해시알고리즘
- spring boot 시작 에러
- 400 badgateway
- mysql데이터
- mysql데이터타입
- mac db설치
- springframewor
- mariadb 데이터타입
- mac mariadb
- mac mariadb 설치
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |