#1 μκ³ λ¦¬μ¦
#1-1

#1-2

μ΄λ κ² ν΄μ xμ μΈλ±μ€ iλ₯Ό μ°ΎμΌλ©΄ μ’κ² μ§λ§, μ΄ xκ° λ°°μ΄ values μ΄λμλ μ‘΄μ¬νμ§ μλ κ²½μ°λ μμ κ²μ΄λ€. μ΄ κ²½μ°μ μ΄λ»κ² μ²λ¦¬ν΄μΌ ν κΉ?
#1-3

μ μ€ λ€μ΄ κ²μμ μ°λ¦¬λλΌμμ μμ£Όλ³ λκ»μ μ ν μλ 0 ~ 50 μ¬μ΄μ μ μλ₯Ό κ°μ§κ³ λ§μΆλ μ κ²μμ μ΄λ―Έμ§κ° κ°νλ€. μ΄λ€ μν©μ κ°μ ν΄λ³΄κ² λ€. μ΄λ λ³λκ»μ μ μ μλ μ΄μ λ‘ 34.5λΌλ μ μκ° μλ μκ° μ ν μμλ€.β¨μ¬νμλ λ³λκ»μ μ°μΈ μ«μλ₯Ό λ³΄κ³ λΉν©νμ§λ§, μ₯λκΈ°κ° λ°λν΄ κ·Έλ₯ κ²μμ μ§νν΄ λ³΄κΈ°λ‘ νλ€. μ°Έμ¬μλ€μ λ³λκ»μ μ°μΈ μ«μκ° μ μκ° μλ κ±°λΌκ³ λ μκ°μ§ λͺ»νκ³ μ μ€ λ€μ΄ κ²μμ μν κ²μ΄λ€. μ΄ μ μ€ λ€μ΄ κ²μμ μ€ν¨ν μ΄λͺ μ΄λ€. νμ§λ§, μ΄ μ¬λ‘λ₯Ό μμν΄ λ³΄λ©΄μ μ΄μ§ νμμ΄ μ€ν¨νμμ μ΄λ»κ² νλ¨ν κ²μΈκ°λ₯Ό λμΆν΄ λΌ μ μλ€.
#1-4

Upμ΄λΌκ³ νλ¨νλ κΈ°μ€μΈ value[mid] < xμ μλ―Έλ xκ°μ μΈλ±μ€ iκ° midλ³΄λ€ ν¬λ€(Up)λ μλ―Έλ€. iλ binarySearch()μμ λ°ν(return)ν κ°μ΄λ€.
#1-5
μ€λ³΅λ μμ κ°μ΄ μλ κ²½μ°μ μ΄μ§ νμ (Binary Search)
#1 μκ³ λ¦¬μ¦ μ΄μ§ νμ (Binary search) #1 μκ³ λ¦¬μ¦ μ΄λ κ² ν΄μ xμ μΈλ±μ€ iλ₯Ό μ°ΎμΌλ©΄ μ’κ² μ§λ§, μ΄ xκ° λ°°μ΄ values μ΄λμλ μ‘΄μ¬νμ§ μλ κ²½μ°λ μμ κ²μ΄λ€. μ΄ κ²½μ°μ μ΄λ»κ² μ²λ¦¬ν΄μΌ ν κΉ? μ
kenel.tistory.com
valuesμ μ€λ³΅λλ μμκ° μλ κ²½μ°μ μκ³ λ¦¬μ¦
#2 μ½λ
#2-1 μλ°
private static int binarySearch(int[] values, int x) {
int min = 0;
int max = values.length - 1;
while (min <= max) {
int mid = (min + max) / 2; // intλΌλ¦¬ λλλ©΄ μμμ μλλ λ²λ €μ§λ€. (λ°μ¬λ¦Ό μλ)
// up
if (values[mid] < x) {
min = mid + 1;
// equal
} else if (values[mid] == x) {
return mid;
// down
} else { // values[mid] > x
max = mid - 1;
}
}
return -1;
}
#2-2 μ½νλ¦°
fun binarySearch(values : Array<Int>, x : Int) : Int {
var min = 0
var max = values.size - 1
while(min <= max) {
val mid = (min + max) / 2
// up
if(values[mid] < x) {
min = mid + 1
// equal
} else if(values[mid] == x) {
return mid
// down
} else { // values[mid] > x
max = mid - 1
}
}
return -1
}
#3 μμ½
μ΄μ§ νμμ μ μ€ λ€μ΄ κ²μμ΄λ€.
'κΉ¨μ κ°λ π > μκ³ λ¦¬μ¦' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
μ λ ¬ - λ³ν© μ λ ¬ (Merge Sort) (1) | 2023.11.14 |
---|---|
μ λ ¬ - λ²λΈ μ λ ¬ (Bubble Sort) (0) | 2023.11.13 |
μ€λ³΅λ μμ κ°μ΄ μλ κ²½μ°μ μ΄μ§ νμ (Binary Search) (0) | 2023.11.07 |
μ λ ¬ - μ ν μ λ ¬ (Selection Sort) (0) | 2023.11.02 |
λ°°μ΄μ κΈΈμ΄(length)μ μμμ μλ²(index) (0) | 2023.11.01 |