일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- del()
- 조지 불
- 변할 수 있는
- 불리안
- pop()
- append()
- insert()
- 1일차
- 성적 입력받기
- 리스트와 차이점
- 귀도 반 로섬
- 딥러닝
- 그룹 # 그룹 해체 # 단축키 #figma #Figma
- index()
- 정보를 담을 수 있는 그릇
- 합집합
- input()
- Python
- Java Script # == # === # difference # 차이
- 조건문 큰 수부터 입력받아야하는 이유
- 파이썬
- 변수와 입출력
- 입출력
- html
- 부스트캠프
- 변수
- 차집합
- null # undefined
- false
- a=1
- Today
- Total
I about me
[중간고사] 3-(1). Sorting의 개념과 종류 본문
Sorting
컴퓨터 과학 및 알고리즘 분야에서 중요한 개념으로, 주어진 데이터를 특정한 기준에 따라 순서대로 재배열하는 작업
Sorting의 응용
예상문제 1. sorting 기반과 divide-and-conquer 기반의 큰 맥락
sorting | divide- and- conquer |
시간복잡도 | 예시 | ||||
Best | Average | Worst | |||||
Search |
Linear Search |
O | X | O(1) |
O(n) |
O(n) |
1D Closest Pair (1차원 가장 가까운 쌍) |
Element Uniqueness (요소 고유성) |
|||||||
Median and Selection (중앙값과 선택) |
|||||||
Mode (최빈값) |
|||||||
Binary Search |
O | O | O(1) | O(log n) | O(log n) | Convex hulls (볼록 껍질) |
아래에 자세한 내용들을 정리해두었으니 참고해둘 것!
Linear Search
왼쪽부터 오른쪽으로 차례대로 탐색
https://hahasof.tistory.com/5
https://www.programiz.com/dsa/linear-search
Binary Search
이진 탐색이란 데이터가 정렬돼 있는 배열에서 특정한 값을 찾아내는 알고리즘이다.
1. 배열의 중간에 있는 임의의 값을 선택하여 찾고자 하는 값 X와 비교한다.
2-(1) X가 중간 값보다 작으면 중간 값을 기준으로 좌측의 데이터들을 대상으로,
2-(2) X가 중간값보다 크면 배열의 우측을 대상으로 다시 탐색한다.
3. 동일한 방법으로 다시 중간의 값을 임의로 선택하고 비교한다. 해당 값을 찾을 때까지 이 과정을 반복한다.
https://www.programiz.com/dsa/binary-search
1D Closest Pair (1차원 가장 가까운 쌍)
: 서로 가장 가까운 쌍을 찾는 문제
ex) {3,7,1,9,4,10}
1. 정렬
{3,7,1,9,4,10} → {1,3,4,7,9,10}
2. 정렬된 리스트에서 각 숫자는 인접한 숫자와 비교 → 차이
(1,3),(3,4),(4,7),(7,9),(9,10) → {2, 1, 3, 2, 1}
3. 결과 도출
∴ (1,3), (9,10)
Element Uniqueness (요소 고유성)
: 주어진 배열이나 리스트에 중복된 요소가 있는지 확인하는 문제
ex 1) {1, 2, 3} → 중복되지 않으므로 True
ex 2) {3,7,2,5,3,9,8} → 3이 중복되므로 False
Median and Selection (중앙값과 선택)
: k번째 항목을 찾는 문제
ex) 다음 {5,2,9,1,7,3} 배열의 3번째 항목은?
{5,2,9,1,7,3} → {1,2,3,5,7,9} ∴ 3번째 항목 : 3
Mode (최빈값)
: 빈도가 높은 값
ex) {3,5,2,5,7,3,5,8,5,9} → {3:2,5:4,2:1,7:1,8:1,9:1} ∴ 숫자 5가 4번 등장하여 최빈값은 5임
Convex hulls (볼록 껍질)
: 2차원 평면상에 n개의 점이 주어졌을 때, 그들을 모두 포함하는 가장 작은 면적 다각형
x축 기준, 왼쪽부터 p, q, r이라 가정 → 직선 p-q가 점 r보다 왼쪽 → 직선 p-r
https://velog.io/@claude_ssim/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-Convex-Hulls
'Algorithm > Lecture note' 카테고리의 다른 글
[중간고사] 4. Dynamic Programming (1) | 2024.04.28 |
---|---|
[중간고사] 3-(2). Sorting - Merge Sort (1) | 2024.04.28 |
[중간고사] 2-(3). Divide and Conquer - Master Theorem (0) | 2024.04.27 |
[중간고사] 2-(1). Induction Proof, Reccurrence Relation (0) | 2024.04.27 |
[중간고사] 0. Introduction (0) | 2024.04.27 |