Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
esepter&teoria.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
13.77 Mб
Скачать

26.Квадраттық xештеу.

Мұнда f(i) функциясын қолайлы таңдау арқылы сызықтық хештеуде алғашқы кластерлер пайда болу мәселесін болдырмауға болады. Айқын түрде f(i) функциясымен байланысы жоқ квадрат ортасы әдісінен бастап, мұнда бірнеше кең таралған әдістер бар. Бұл әдістерде кілт өз-өзіне көбейтіледі және хеш-кестеде жазылған хеш-функцияның мәні ретінде хеш-кестеге жазылатын кебейтінділердің орта цифрларының белгңлң саны таңдалады.

Квадратгық хештеудің басқа жүзеге асыруларында f(i) функциясы айқын беріледі.

  1. f(i)=i2 , бұл мынаны береді

h ( р, i) = (h (р) + i2) mod m, i =0,1,...,m-1

  1. f(i)=± i2 , келесі арқылы белгілейміз

h ( p, i) = (h (p) + i2)mod m, i = 0,l,...,m-l

с1 жэне с2 коэффициенттері р-дан тәуелсіз деген шартпен келесі схеманы да қарастыруга болады

  1. f(i)= с1 × i + с2 × i2 , с2 ≠ 0,

h ( р, i) = (h (р) + с1 × i + с2 × i2) mod m, i = 0,l,...,m-l,

Бұған өте ұқсас, әpi қызықты, бipaқ с) схемасының жеке жағдайы емес квадраттық коэффициенттер әдісі де бар:

cl) h (p, i) = (h(p)+ i +q × i2)mod m,

мұндағы q бұл р-ны m-ға бөлгендегі бөлінді.

Әpбip с) - a) бipeyiнің таңдалуы m санын ұқыпты таңдауды қажет етеді, одан басқа, m жай сан немесе екінің дәрежесі болумен қатар берілген есептің анықталу сипаттамасының қосымша талабы болуы мумкін.

Сонымен қатар, бұның басқа да ерекшелік/і де бар, м/ы таңдау

a)Kipicтipy есебінің шешілуінің қолма-қол дәлелдеме/н қажет етеді;

в), с) хештеу стратегиясының қолайлы параметрлерін таңдауда хеш- кecтeci жолының барлық нөмірлері, яғни {0,1,2,...,m-1} жиынының элементтері хеш-кестесінің мәндерімен анықталатынын дәлелдеу мумкіндігінің бар болуын қажет етеді. Бұл хештеу стратегиясының нұсқалары ушін mod функциясын анықтау және нактылау қажет.

0

9

9

9

9

9

9

9

9

1

11

11

И

11

11

И

11

2

31

31

31

31

31

31

3

29

29

29

29

29

4

1000

1000

1000

1000

5

39

39

39

6

7

28

28

8

78

78

78

78

78

78

78

78

78

9

119

119

119

119

119

119

119

119

119

119

а) схемасы бойынша квадраттық хештеу үлгісі. Kipicтipiлгeн элементтер қою шрифтпен ерекшеленген.

Хеш-кесте деп аралық операцияларды орындау кезінде жоғары жылдамдықпен жұмыс icтey болжаланады және осы есептеулерге байланысты барлық этаптарда, яғни, осы жағдайда жүзеге асыруға болатын жерлерде элементарлы хеш-операциялардың орындалуын талап етеді. Мысалға а) — с) есептелген барлық жағдайда әp6ip жаңа i мәніне тұрақты нүктелі пішімдегі сандарды кебейтудің кәдімгі схемасы бойынша i2 өрнегін есептеу ақырын жұмыс icтeyгe әкеледі. Еске түcipceк, кебейтудің кәдімгі схемасы екі n разрядты сандардың кебейтіндісін табады, оның нәтижесі n разрядка дейін дөңгелектелінген 2n разрядты сан. Мұндай жай оқиғада тағы не icтeyгe болады?

а) жағдайын қарастырып, айкын келеа катынасты жазайык:

f (i+l)=f(i)+2*i+l

Программалау тйпнде бул өрнек былай жазылады:

f:=f + 2 *i + 1

және жүзеге асу ушін екі операцияны - екі рет қосу мен бip рет көбейтуді талап етеді. Олар машиналық деңгейде i санын өзіне-өзін қосады немесе i ұяшығының құрамын солға бip разряд жылжытады. f айнымалысына бастапқы мән беру ғана қалады, бірақ хештеуді i2 есептеуін үнемдеп, a) схемасы бойынша бастауға да болатын eдi, бipaқ алдымен хештеудің кез-келген схемасына да қатысы бар хештеудің а) схемасы бойынша маңызды ерекшелігін талқылау қажет. Хеш-функциясының мәні хеш-кестедегі барлық нөмірлерді қамтамасыз ететініне сенімді болуға бола ма? а) схемасы бойынша жауап канағаттанарлықсыз. а) хештеу-схемасы бойынша элементтерді кірістіру есебінің шешімін қандай шарттар қамтамасыз етеді деген заңды сұрак туады. Бұл қойылған сұраққа теория тұжырымдама турінде жауап береді:

егер т жай сан болса, онда хеш-кесте жартылай бос болған жағдайда жаңа элемент ушін бос ұяшық әрқашан табылады.

Берілген квадраттық хештеуді қорытындылай келе, оның бастапқы кластерлерді құру мәселесінен құтылуға көмектесетінін байқауға болады. Алайда мұнда екінші ретті кластерлер деп аталатын басқа мәселе туындайды. Екінші ретті кластерлердің хештеу тиімділігіне жағымсыз әcepi алғашқы мәселе сияқты айқын көрінбейді. Жаңа мәселенің мәні неде?

Егер р' ≠ р", a h ( р') = h ( р" ) болса, онда квадраттық хештеудегі байқау реттілігі а), в) схемаларындағы сияқты екі кілт үшін де бірдей болады. Егер хеш-кестеде бос орын жеткілікті болса, онда жаңа элемент өзінің бос орнын хеш-кестеден табады.

Тиімділік бағалары квадраттық хештеу ушін де белгілі.

Хеш-кестеде бар элементті iздey барысындағы квадраттық хештеудің орта санының бағасы мынандай түрде болады:

1 - ln(1 - α ) - α / 2

Ал хеш-кестеде жок элементті іздеу барысындағы квадраттық хештеудің орта санының бағасы мынандай түрде болады:

1/(1- α)- α-ln(1- α)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]