Кіріспе
Компьютерлік бағдарламалауда бастапқы кластерлеу - сызықтық зондтау хэш-кестелерінде өнімділіктің төмендеуіне әкелетін құбылыс. Бұл құбылыс элементтер сызықтық зондтаулы хэш-кестеге қосылған кезде, олардың ұзын қатарға топталуға бейім екендігін айтады (яғни, бос слоттар жоқ хэш-кестедегі ұзын жалғасқан аймақтар). Егер хэш-кестеде кейбір параметрлер үшін жүктеме коэффициенті болса, онда берілген элементті қамтитын жүгірудің күтілетін ұзақтығы: Бұл сызықтық зондтау хэш-кестесінде енгізулер мен теріс сұранымдардың күтілетін уақытын алады.
Жүзеге асыру көрсеткішіне әсер ету
Бастапқы кластерлеу сызықтық зондтау хэш-кестесіндегі енгізулер мен сұранымдар үшін өнімділіктің төмендеуіне әкеледі. Инсерциялар жүгірудің соңына дейін жүруі керек, сондықтан күтілетін уақытты алады. (көбінесе Робин Гуд хэшинг деп аталады) - сұранымдарға негізгі кластерлеудің әсерін азайту әдісі. Бұйрық берілген сызықтық зонд әр жүгіру элементтерін олардың хэші бойынша сұрыптайды. Осылайша, сұраныс сұранысқа ие элементтен үлкен кез-келген элементке тап болған кезде аяқталуы мүмкін. Бұл күтілетін уақытты алатын оң және теріс сұранымдарға әкеледі. Қабірге арналған хэштеу - барлық операциялар үшін бастапқы кластерлеудің асимптотикалық әсерін жоятын реттелген сызықтық зондтаудың нұсқасы. Қабірге шағылу стратегиялық түрде болашақта енгізілетін орындардың ішінде бос орындар қалдырады. Бұл саңылауларды (желсіз өшірулер арқылы пайда болған сияқты) қабір тастары деп қарастыруға болады, олар жартылай тұрақты қайта құру кезінде кестеге енгізіледі. Содан кейін олқылықтар келесі жартылай тұрақты қайта құруға дейін орын алатын кіріктірулерді жылдамдатып жібереді. Қабірге арналған хэш-таблицадағы әрбір операция күтілетін уақытты алады Көптеген көздер бастапқы кластерлеудің әсерінен эмпирикалық жолмен құтылатын сызықтық зондтаудың баламасы ретінде квадраттық зондтауды қолдануды ұсынады.
Graveyard hashing is a variant of ordered linear probing that eliminates the asymptotic effects of primary clustering for all operations. Graveyard hashing strategically leaves gaps within runs that future insertions can make use of. These gaps, which can be thought of as tombstones (like those created by lazy deletions), are inserted into the table during semi regular rebuilds. The gaps then speed up the insertions that take place until the next semi regular rebuild occurs. Every operation in a graveyard hash table takes expected time
Many sources recommend the use of quadratic probing as an alternative to linear probing that empirically avoids the effects of primary clustering.