2-ma’ruza. Qidiruv va xeshlash algoritmlar. Qidiruv algoritmlar: chiziqli algoritm, tartiblangan navbatlar, binary qidiruv


https://www.geeksforgeeks.org/jump-search/


Download 0.61 Mb.
Pdf ko'rish
bet3/4
Sana16.06.2023
Hajmi0.61 Mb.
#1493586
1   2   3   4
Bog'liq
6-ma’ruza. Qidiruv algoritmlari

https://www.geeksforgeeks.org/jump-search/
lys[0]
, lys[0+jump], lys[0+2jump], lys[0+3jump]
va x.



Interpolation search
• Линейный поиск находит элемент за O (n) раз, Jump Search занимает O 
(√ n) раз, а двоичный поиск занимает O (Log n) времени.
Поиск с интерполяцией является усовершенствованием по сравнению 
с двоичным поиском для экземпляров, в которых значения в 
отсортированном массиве равномерно распределены. Двоичный 
поиск всегда переходит к среднему элементу для проверки. С другой 
стороны, поиск с интерполяцией может идти в разные места в 
соответствии со значением ключа, по которому выполняется поиск. 
Например, если значение ключа ближе к последнему элементу, поиск 
с интерполяцией, скорее всего, начнется с конца.
Чтобы найти позицию для поиска, он использует следующую формулу.
index = low + [(val-lys[low])*(high-low) / (lys[high]-lys[low])]


• / Идея формулы - вернуть большее значение pos
// когда элемент для поиска ближе к arr [hi]. И
// меньшее значение по мере приближения к arr [lo]
pos = lo + [(x-arr [lo]) * (hi-lo) / (arr [привет] -arr [Lo])]
arr [] ==> Массив, в котором нужно искать элементы
x ==> Элемент для поиска
lo ==> Начальный индекс в arr []
hi ==> Конечный индекс в arr []


• Остальная часть алгоритма интерполяции такая же, за 
исключением приведенной выше логики разделения.
Шаг 1: В цикле вычислите значение «pos», используя формулу 
положения датчика.
Шаг 2: Если это совпадение, вернуть индекс элемента и выйти.
Шаг 3: Если элемент меньше, чем arr [pos], вычислить положение 
зонда левой подматрицы. В противном случае вычислите то же 
самое в правом подмассиве.
Шаг 4: повторяйте, пока не будет найдено совпадение или пока 
подмассив не уменьшится до нуля.


• Хеш-функция (англ. hash function; hash — «фарш 
қилиш», «аралаштириш»), ёки свёртки 

Download 0.61 Mb.

Do'stlaringiz bilan baham:
1   2   3   4




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling