pub fn jump_search<T: Ord>(list: &[T], target: &T) -> Option<usize>Expand description
Jump search — tartiblangan massivda √n qadamlab “sakrab” qidirish.
G’oya: har √n qadamda bir marta qaraymiz; target dan katta blok topilsa,
shu blok ichida linear search qilamiz.
Nega kerak? Disk/lentaga o’xshash, “orqaga qaytish qimmat” bo’lgan muhitlarda binary searchdan ko’ra kamroq sakrash qiladi.
- Time: O(√n), Space: O(1). Shart: tartiblangan bo’lishi.
§Misol
use rust_algorithms::searching::jump_search;
let v: Vec<i32> = (0..100).collect();
assert_eq!(jump_search(&v, &73), Some(73));
assert_eq!(jump_search(&v, &1000), None);