Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
0 / 0 / 1
Регистрация: 28.12.2013
Сообщений: 16
1

Для формирования хеш-адреса использовать хеш-функцию универсального хеширования

04.01.2015, 14:19. Показов 2923. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Для формирования хеш-адреса использовать хеш-функцию универсального хеширования .

Подскажите пожалуйста код или что надо сделать чтобы получить код
Все что я понял то что она рандомно выбирает одну из функций формирования (Умножение или деление)
Конечно мои познания грош и я скорее всего не прав
Можете в лоб объяснить то что написано в wikipedia цитата "В качестве решения такой проблемы можно выбирать функцию случайным образом из определенного набора, называемого универсальным семейством H = { h : U to [m] }."

Добавлено через 13 часов 20 минут
Организовать хеш-таблицу с открытой адресацией, используя процедуру поиска и вставки по ключу. Для формирования хеш-адреса использовать хеш-функцию универсального хеширования и процедуру линейного исследования для разрешения коллизии // вот так звучит задание

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids;
 
const
A=0.61;
z1=1;
m=10;
type
  mas1=array [1..m] of integer;
  TForm1 = class(TForm)
    Button1: TButton;
    Memo1: TMemo;
    Edit1: TEdit;
    StringGrid1: TStringGrid;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
 
 procedure TForm1.Button1Click(Sender: TObject);
var
d:array [1..100] of integer;
t:mas1;
i,n,c1:integer;
 
   function h(k,i:integer):integer;
  var
  h1,int:integer;
  begin
 
// как я понимаю здесь должено быть построение универсальной хеш-функции
 
    h:=(h1+c1*i)mod m   //пошаговая проверка на колиззии (линейная)
  end;               
 
    procedure Ini(var t1:mas1);
  var
  i:integer;
  begin
    for i:=1 to m-1 do          // используется уже в выводе
    t1[i]:=maxint;
  end;
 
    procedure insert(var k:integer; var t1:mas1);
  var
  i,j:integer;
begin
  i:=0;
  j:=h(k,i);
  repeat
    t1[j]:=k;
    i:=i+1;
    j:=h(k,i);
    until (i=m) and (j<>maxint);
  end;
 
 
 begin
    c1:=strtoint(edit1.Text);
    n:=memo1.lines.count;
    for i:=1 to n-1 do
    d[i]:=strtoint(memo1.Lines[i]);
    Ini(t);
    for i:=0 to m-1 do
    begin
    insert(d[i],t);
    stringgrid1.Cells[0,i]:=inttostr(t[i]);
    end;
  end;
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.01.2015, 14:19
Ответы с готовыми решениями:

Хеш-функции. Метод открытого хеширования
Написать программу, которая реализует метод открытого хеширования и хеш-функцией, основанной на...

Как узнать алгоритм хеширования по значению хеш сумму
есть вот такой хэш 81A72B0C42DEB111F4024EAAD6581F52-1 как узнать алгоритм хеширования?

Метод открытого хеширования и хеш-функция, основанная на методе деления с остатком
Ещё раз здравствуйте! Есть такое задание: Написать программу, которая реализует метод...

Метод закрытого хеширования с двойным хешированием и хеш-функция, основанная на методе деления с остатком
Доброго времени суток! Прошу помощи у более опытных прогорев. До этого никогда не работал с...

2
0 / 0 / 0
Регистрация: 31.05.2015
Сообщений: 3
31.05.2015, 06:09 2
Если разобрался с универсальным хешированием
можешь обьяснить
0
0 / 0 / 0
Регистрация: 20.06.2014
Сообщений: 18
28.01.2017, 05:20 3
xxxmaximal, выполнили задание? не могли бы поделиться исходником?
0
28.01.2017, 05:20
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.01.2017, 05:20
Помогаю со студенческими работами здесь

Метод закрытого хеширования с двойным хешированием и хеш-функция, основанная на методе деления с остатком
Доброго времени суток! Прошу помощи у более опытных прогорев. До этого никогда не работал с...

Хеш, хеш-функция, хеширование и HashMap
Снова приветствую, я начал свое знакомство с классом HashMap в Java и ввиду расхождений в разных...

Какие две хеш функции можно использовать для строк при двойном хешировании?
Какие две хеш функции можно использовать для строк при двойном хешировании?

Убрать хеш из строки адреса
Вопрос банальный и избитый, как убрать # из строки адреса, есть много ссылок, они используют...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru