탐색 알고리즘

이진탐색

반복문을 이용한 코드

func binarySearch(_ array: [Int], _ data: Int) -> Bool {
    var start = 0, end = array.count - 1

    while start <= end {
        let mid = (start + end) / 2
        if array[mid] == data {
            return true
        } else if array[mid] > data {
            end = mid - 1
        } else {
            start = mid + 1
        }
    }
    return false
}


print(binarySearch([1, 3, 5, 2, 3, 5, 3], 3))
print(binarySearch([1, 3, 5, 2, 3, 5, 3], 7))

재귀를 이용한 코드

Last updated