Форум программистов, компьютерный форум CyberForum.ru

Комбинирование ключа из несколько слов - C++

Восстановить пароль Регистрация
 
yapechenko
0 / 0 / 0
Регистрация: 13.07.2013
Сообщений: 22
13.07.2013, 19:31     Комбинирование ключа из несколько слов #1
Здравствуйте. Столкнулся с проблемой Комбинирования ключей из несколько слов. В моем варианте было предложено:

Если ключ состоит из нескольких слов, то перед вычислением хеш-функции должно быть выполнено комбинирование слов ключа в одно слово. Комбинирование должно быть выполнено сложением слов ключа по модулю ω. Что бы избежать одинаковых результатов для комбинаций типа (X Y) и (Y X), между сложениями предлагается выполнять циклический сдвиг.

Я это понимаю так:
Т.Е. возьмем к примеру: "ADD SUB" и "SUB ADD"
ω=8. Я взял такое же значение ω, какое оно у моей хеш-функции (h=A*K>>(ω-m))
Сложение слов по модулю ω(результатом будет рандомное число для наглядности)
"ADD SUB"
("A"+"S")%8= 5
5+0=5
циклический сдвиг 5 =>5
("D"+"U")%8= 4
4+5=9
циклический сдвиг 9 =>9
("D"+"B")%8=6
6+9=15
циклический сдвиг 15 =>51
И 51 должно быть поставлено в мою хеш-функцию h=A*K>>(ω-m)

Но. при комбинировании "SUB ADD" мы получим тоже самое значение, т.к. от перестановки слагаемых ни чего не изменится. И получается я не избежал
одинаковых результатов для комбинаций типа (X Y) и (Y X)
Прошу помочь разобраться в данном вопросе.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.07.2013, 19:31     Комбинирование ключа из несколько слов
Посмотрите здесь:

C++ Комбинирование алгоритмов.
C++ Вывести на печать список слов, имеющих приставку(несколько букв), задаваемых с терминал
C++ Ввод строки, содержащей несколько слов.
Несколько слов об инклудах и других C++
C++ Массив символов (Подсчитать количество слов в строке, при условии, что в качестве разделителя слов используется один или несколько пробелов)
В строке, содержащей несколько слов, разделенных пробелом, переставить слова в обратной последовательности C++
Найти в предложении количество слов, после которых стоит несколько пробелов и удалить их C++
C++ Составить текстовый файл, в котором будет несколько слов, разделенных пробелами

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 14:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru