Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые обзорные » Розробка програмного продукту, що виключає колізію

Реферат Розробка програмного продукту, що виключає колізію





колізій необхідно мінімізувати. p align="justify"> Хороша хеш-функція повинна задовольняти двом вимогам:

В· її обчислення повинно виконуватися дуже швидко;

В· вона повинна мінімізувати кількість колізій.

Отже, перша властивість хорошої хеш-функції залежить від комп'ютера, а друге - від даних. Якби всі дані були випадковими, то хеш-функції були б дуже прості (кілька бітів ключа, наприклад). Однак на практиці випадкові дані зустрічаються вкрай рідко, і доводиться створювати функцію, яка залежала б від усього ключа. p align="justify"> Теоретично неможливо визначити хеш-функцію так, щоб вона створювала випадкові дані з реальних невипадкових файлів. Однак на практиці реально створити досить хорошу імітацію за допомогою простих арифметичних дій. Більш того, часто можна використовувати особливості даних для створення хеш-функцій з мінімальним числом колізій (меншим, ніж при істинно випадкових даних). p align="justify"> Можливо, одним з найбільш очевидних і простих способів хешування є метод середини квадрата, коли ключ зводиться в квадрат і береться кілька цифр в середині. Тут і далі передбачається, що ключ спочатку приводиться до цілого числа, для здійснення з ним арифметичних операцій. Однак такий спосіб добре працює до моменту, коли немає великої кількості нулів зліва чи справа. p align="justify"> хешування згортка програмний колізія

РОЗДІЛ 2. ПРОЕКТНИЙ РОЗДІЛ


2.1 Принцип побудови хеш-функцій


Численні тести показали хорошу роботу двох основних типів хешування, один з яких заснований на розподілі, а інший на множенні. Втім, це не єдині методи, які існують, більше того, вони не завжди є оптимальними. p align="justify"> У міру зростання бази даних можна

В· користуватися початкової хеш-функцією, втрачаючи продуктивність через зростання колізій;

В· вибрати хеш-функцію В«із запасомВ», що спричинить невиправдані втрати дискового простору;

В· періодично міняти функцію, перераховувати всі адреси. Це забирає дуже багато ресурсів і виводить з ладу базу на деякий час.

Існує техніка, що дозволяє динамічно змінювати розмір хеш-структури. Це - динамічне хешування. Хеш-функція генерує так званий псевдоключ ( pseudokey ), який використовується лише частково для доступу до елементу. Іншими словами, генерується досить довга бітова послідовність, яка повинна бути достатня для адресації всіх потенційно можливих елементів. У той час, як при статичному хешуванні потрібна була б дуже велика таблиця (яка зазвичай зберігається в оперативній пам'яті для прискорення доступу), тут розмір використа...


Назад | сторінка 4 з 8 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Створення програмного продукту, що дозволяє синхронізувати дані вже наявної ...
  • Реферат на тему: Комп'ютерні дані: типи даних, обробка та управління
  • Реферат на тему: Особливості процесу хешування
  • Реферат на тему: Проблема правових колізій
  • Реферат на тему: Створення нейронної мережі, що виконує логічну функцію &І& і &АБО&