- 데이터를 처음부터 끝까지 순차적으로 검사하여 원하는 값을 찾는 방식
- 정렬되지 않은 데이터여도 사용할 수 있는것이 장점, 데이터가 정렬되어 있다면 Binary Search가 더 효율적
- 시간 복잡도 : 최선 O(1), 평균 O(n)
- 공간 복잡도 : O(1)
fun linearSearch(array: IntArray, value: Int): Int {
for (index in array.indices) {
if (array[index] == value) {
return index
}
}
return -1
}
fun main() {
val arr = intArrayOf(5, 3, 15, 2, 9, 8)
val searchValue = 15
val resultIndex = linearSearch(arr, searchValue)
if (resultIndex != -1) {
println("Value $searchValue found at index $resultIndex")
} else {
println("Value $searchValue not found in the array.")
}
}