Skip to main content

jump_search

Function jump_search 

Source
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);