Skip to main content

exponential_search

Function exponential_search 

Source
pub fn exponential_search<T: Ord>(list: &[T], target: &T) -> Option<usize>
Expand description

Exponential search — avval oraliqni 1, 2, 4, 8… deb kengaytirib topadi, so’ng shu oraliqda binary search qiladi.

Qachon kerak: massiv juda katta (yoki uzunligi noma’lum) va qidirilayotgan element boshiga yaqin bo’lsa. i — javob indeksi bo’lsa, narxi O(log i).

  • Time: O(log i), Space: O(1). Shart: tartiblangan.

§Misol

use rust_algorithms::searching::exponential_search;

let v: Vec<i32> = (0..1_000_000).collect();
assert_eq!(exponential_search(&v, &5), Some(5)); // deyarli bir zumda