자바(3)
-
1.4 정렬 - 퀵 정렬 (Quick sort)
삽입정렬, 버블정렬, 선택정렬은 모두 시간복잡도가 O(n^2)를 가지고 있다. O(n^2)의 시간복잡도는 데이터의 갯수가 10만개일 때 100억번의 연산을 할 수 도 있기 때문에, 데이터가 많으면 사용하기 어렵다. 따라서 더 작은 시간복잡도의 알고리즘이 필요하다. 퀵정렬 - 대표적인 분할정복 알고리즘 시간복잡도 = O(N*logN) 특정한 값(pivot)을 기준으로 큰 값과 작은 값으로 나누어 교환한 뒤, 배열을 반으로 나누어 정렬 ex) int[] arr = {6, 7, 3, 2, 5, 8, 1, 4}; -> (오름차순 정렬) arr[0] -> pivot {일반적으로 가장 앞의 값을 피벗으로 설정} {6, 7, 3, 2, 5, 8, 1, 4} -> arr[1] ~ arr[end] 피벗보다 큰 수 탐색 ..
2021.05.31 -
1.1 정렬_선택정렬
선택정렬 : 가장 작은 값을 선택해서 제일앞으로 보내는 알고리즘(오름차순) 시간복잡도 : O(N^2) ex) int[] arr = {1, 3, 4, 5, 6, 2, 8, 7}; - 오름차순 정렬 arr[0]~arr[arr.lenth-1] 까지 최소 값을 찾아서 arr[0]와 스와프 arr[1]~arr[arr.lenth-1] 까지 최소 값을 찾아서 arr[1]와 스와프 . . . . 반복 arr = {1, 2, 3, 4, 5, 6, 7, 8} 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 public class Blog { public static void main(String[] args) { int[] arr = { 1, 3, 4, 5,..
2021.05.27 -
자바스크립트 기본문법
변수 실행하는 동안 달라질 수 있는 데이터 : 변수 고정된 값 : 상수 에약어 : var 자료형 기본형 숫자형 Number = 정수형+실수형 문자열 "" . '' 로 묶음 논리형(*) 배열(*) 복합유형 배열(*) 객체(*) 특수유형 undefined 자료형이 지정되지 않음, 선언만하고 초기화하지 않았을 때. null 값이 유효하지 않음. 예약어가 모두 var이므로 연산에 따라 데이터 형변환이 자동으로 이루어진다. 자료형 연산자 산술연산자(*) 할당연산자(*) 비교연산자 == : 피연산자의 값비교 === : 피연산자의 값과 자료형 비교 != : 피연산자의 값비교 !== : 피연산자의 값과 자료형 비교 논리연산자(*) 조건문(*) 반복문(*) (*) - 자바와 같거나 유사
2021.04.05