Бундан ташқари, i массив индекси 0 ... (N — 1) оралиқда жойлашган деб фараз қиламиз, бу ерда N — массив ўлчами. Бундай ҳолда “жойлаштириш функцияси” сифатида қуйидаги функцияни олиш мумкин: H(k) = ORD(k) MOD N Агарда “жойлаштириш функцияси” юқоридаги каби аниқланадиган бўлса, у ҳолда калит қийматлари индекслар ўзгариши оралиғига текис тақсимланади. Шу сабабли, калитларни акслантириш амалга оширилаётган вақтда кўпинча уни асос қилиб олишади. - Агарда “жойлаштириш функцияси” юқоридаги каби аниқланадиган бўлса, у ҳолда калит қийматлари индекслар ўзгариши оралиғига текис тақсимланади. Шу сабабли, калитларни акслантириш амалга оширилаётган вақтда кўпинча уни асос қилиб олишади.
- Бундан ташқари, агар массив узунлиги N 2 нинг қандайдир даражасига тенг бўлса, у ҳолда функция самарали ҳисобланади.
Лекин, агар калит харфлар кетма-кетлигидан ташкил топган бўлса, у ҳолда айнан бундай функциядан воз кечишга тўғри келади. - Лекин, агар калит харфлар кетма-кетлигидан ташкил топган бўлса, у ҳолда айнан бундай функциядан воз кечишга тўғри келади.
- Сабаби, бундай ҳолатда барча калитлар тенг эхтимолликга эга деб қараш нотўғри бўлади.
- Натижада, фақатгина бир неча белгилар билан фарқланувчи сўзларни битта индексга акслантириш эхтимоллиги юқори бўлади.
- Бу эса калитларни нотекис тақсимланишига олиб келиши мумкин.
- Шу сабабли, амалий масалалар ҳал қилинаётганда N сифатида туб сонларни олиш тавсия этилади.
- Зиддиятни ҳал қилиш алгоритмлари
Агар берилган калитга мос жадвал қатори керакли (қидирилаётган) элементга эга эмаслиги маълум бўлса, у ҳолда зиддият (“конфликт”) юзага келди дейилади. Бундай ҳолат, агарда бир неча элемент битта индексга акслантириладиган калитларга эга бўлса( kolliziya holati) ,юзага келади. Бу ҳолатда мазкур берилган калит орқали тўлиқ аниқланувчи индекс бўйича иккинчи уриниш амалга оширилади (Муқобил индекс шакллантириш орқали).
Do'stlaringiz bilan baham: |