알고리즘
삽입 정렬
•
손안의 카드를 정렬하는 방법과 유사
•
자료 배열의 모든 요소를 앞에서부터 차례대로 이미 정렬된 배열 부분과 비교하여, 자신의 위치에 삽입하는 정렬
삽입정렬 특징
•
알고리즘 자체가 간단하며 안정 정렬(Stable Sort)
•
배열이 거의 정렬되어 있는 경우엔 효율적
•
비교적 많은 배열 값들의 이동을 포함하므로 배열 길이가 길어질수록 비효율적
삽입정렬의 동작 과정
1.
현재 타겟이 되는 숫자와 이전 위치에 있는 원소들을 비교한다. (첫 번째 타겟은 두 번째 원소부터 시작한다.)
2.
타겟이 되는 숫자가 이전 위치에 있던 원소보다 작다면 위치를 서로 교환한다.
3.
그 다음 타겟을 찾아 위와 같은 방법으로 반복한다.
삽입정렬 코드
public class InsertionSort03 {
// 메서드
public int[] sort(int[] arr) { // 배열을 구분하다 // int i 넣는이유 : 재귀(recursive) 때문
// loop
for(int i = 1; i < arr.length; i++) {
for(int j = i; j > 0; j--) { // j는 i가 증가 할때 한개씩 빼며 반복
// System.out.printf("i:%d j:%d j-1:%d\n", i, j, j-1);
if(arr[j] < arr[j-1]) {
// indext의 값을 비교 후 자리를 바꾼다.
// {8, 5, 6, 2, 4} -> {5, 8, 6, 2, 4}
int temp = arr[j]; // swap 하기
arr[j] = arr[j-1];
arr[j-1] = temp;
}
}
}
return arr;
}
public static void main(String[] args) {
// 5에서 출발 합니다.
int[] arr = {8, 5, 6, 2, 4};
InsertionSort03 is = new InsertionSort03();
int[] result = is.sort(arr);
System.out.println(Arrays.toString(result));
}
}
Plain Text
복사
SQL 문법 정리
SELECT
•
Database에 질문하여 답을 얻는 것
SELECT COUNT(subdivision) FROM seoul_hospital WHERE subdivision <> "";
SQL
복사
•
1000개의 데이터만 가져오기
SELECT * FROM seoul_hospital limit 1000; #limit 필요
SQL
복사
•
subdivision, name 컬럼만 불러 오기
SELECT subdivision, name FROM seoul_hospital limit 1000;
SQL
복사
•
상세 조건 넣을 때 WHERE
SELECT subdivision, name FROM seoul_hospital
WHERE subdivision = ""
limit 1000;
SQL
복사
•
AND 조건과 Like 검색
SELECT subdivision, name FROM seoul_hospital
WHERE subdivision = "" and name like "%이비인후과%"
limit 1000;
SQL
복사
◦
like 구문 사용시 %를 와일드카드로 사용
•
update 쿼리 by id
UPDATE seoul_hospital
SET subdivision = "이비인후과"
WHERE id = "A1100196"
SQL
복사
◦
Update [table] SET [column = 값] Where [조건]
•
count 특정 조건인 데이터 개수 세기
SELECT count(name) FROM seoul_hospital
where subdivision = "" and name like "%이비인후과%"
limit 1000;
SQL
복사