![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
Elanor |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 20.2.2003 Где: Россия, Москва - Bree, Brandyback Hall Репутация: нет Всего: нет |
Месяц вожусь, хотя вроде все просто
есть ХЕШ-таблица из трех столбцов.. во ВСЕХ столбцах вводятся значения.. каким образом? по какому принципу..если ничего кроме хеш-функции для разрешения коллизий не дано?? и как потом все это сохранить(загрузить) в файл? |
|||
|
||||
Unregistered |
|
|||
Unregistered |
Хе, классный вопросик! А как окружностью разделить три целых две восьмых байта, если ничего, кроме циркуля, для отмера радиуса не дано? И послать это по почте потом?
Давайте слегка по конкретнее - не понятно ведь ничего. |
|||
|
||||
Elanor |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 20.2.2003 Где: Россия, Москва - Bree, Brandyback Hall Репутация: нет Всего: нет |
млин, ты что такое хеш-таблица представляешь
![]() так вот а выглядеть должно так --------------------- | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | --------------------- и в каждом столбце пишутся вводимые значения.. все! не могу только сообразить КАк из туда вводить.. сама бы понялабы - рада бы была вроде даже просто.. просто я "образно объясняю" |
|||
|
||||
Fantasist |
|
||||
![]() Лентяй ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1517 Регистрация: 24.3.2002 Репутация: нет Всего: 41 |
Да, весьма неплохо. Хеш-таблица - это таблица в два поля: ключ и значение. Каждому ключу, находящемуся в таблице, соответсвует одно или более значений. Смысл в том, что для каждой хеш-таблицы существует хеш-функция такая, что по значению с помощью нее можно быстро получить ключ. Причем чем меньше эта функция генерирует одинаковых ключей для различных значений, тем таблица получается эффективнее.
? ? ? Мда, это у Вас ловко получается. ![]() -------------------- Волны гасят ветер... |
||||
|
|||||
RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 14 Всего: 115 |
Это наверное означает КАк их туда вводить.. А чё такое ХеШ, типа Лист вьюва чтоли? |
|||
|
||||
Fantasist |
|
||||||
![]() Лентяй ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1517 Регистрация: 24.3.2002 Репутация: нет Всего: 41 |
Ах да, действительно, ты прав. Что-то я не догадался ![]() Ну а как их вводить? С клавиатуры набить можно. Скопировать откуда-нибудь... Мало ли способов ввести данные.
Нет. Я уже выше примерно написал. Хеш - это результат хеш-функции от значения. ![]()
C помощью этой функции, для любой строки можно быстро получить целое число, а целые числа сравнивать гораздо быстрее, особенно, если их упорядочить. Так вот в хеш-таблице и хранять такие пары: целое число и соответсвующюя ему строка. То есть перед тем как добавить новую строку в твой набор данных, вначале вычисляется ее хеш, с помощью этой функции, и добавляется в хеш-таблицу уже вместе с этим вычисленным хешем. Поиск осуществляется так же - вначале вычисляется хеш, и ищется он в таблице, и берется соответсвующее значение. Если оказывается, что для этого хеша в таблице хранится больше чем одно значений, то производиться уже конкретное сравнивание с искомым значением. Разумеется, пример со строками - это частность, хотя встречается чаще всего. -------------------- Волны гасят ветер... |
||||||
|
|||||||
Elanor |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 20.2.2003 Где: Россия, Москва - Bree, Brandyback Hall Репутация: нет Всего: нет |
не.. ну если просто с клавиатуры вводить??
я чего-то не догоняю, Фантазист... если просто числа вводить с клавиатуры, в какой последовательности заполнять таблицу?? (три столбца, все СО ЗНАЧЕНИЯМИ) |
|||
|
||||
Fantasist |
|
|||
![]() Лентяй ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1517 Регистрация: 24.3.2002 Репутация: нет Всего: 41 |
Elanor, повторюсь еще раз - вопрос совершенно не ясен! Абсолютно не понятно чего нужно и в чем вопрос. Если я тебе задам вопрос: "у меня есть таблица с тремя полями типа UNIQUEIDENTIFIER, BIGINT и VARCHAR как мне ее правильно заполнить чтобы в поле типа VARCHAR оказались буквы?" Как ты будешь на такой вопрос отвечать?
-------------------- Волны гасят ветер... |
|||
|
||||
Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
1) Значения в таблицу вводят при помощи компонентов TTable, TQuery
2) Значения хэшей получают в результате работы хэш функции 3) Для сохранения в файл существуют методы WriteFile, FileWrite, write, TFileStream.write и т.д. Итого вопрос совершенно не понятен. Давайте попробуем разбить его на более простые составляющие: 1) Не понятно как работать с таблицами? Как в них писать, читать, искать любые данные? 2) Не понятно как подсчитывать хэши и как сравнивать хэши? 3) Не понятно как работать с файлами - как их создавать, как туда записывать инфу? 4) Что-то другое? Тогда постарайтесь объяснить более простыми словами, возможно вы применяете термины, которые имеют неоднозначное толкование и не понятны для других участников. -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
Elanor |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 20.2.2003 Где: Россия, Москва - Bree, Brandyback Hall Репутация: нет Всего: нет |
непонятно, каким образом ее заполнять, если есть только хеш функция..
|
|||
|
||||
acp |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 389 Регистрация: 4.2.2003 Где: Владимир Репутация: нет Всего: 2 |
Хэш-функция известна? Напиши...
PS: когда кто нибудь поймёт вопрос? Может быть вопрос такой "Как сопоставить конкретную ячейку таблицы, со значением, возвращаемым хэш-функцией"? |
|||
|
||||
Dayana |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 352 Регистрация: 6.10.2002 Где: Тель-Авив Репутация: 2 Всего: 4 |
Elanor, у тебя есть хеш-функция... Входное значение в эту функцию есть? Если да, то вычисляешь пару: входное значение и выходное значение - результат функции. Потом записываешь в таблицу, в которой должно быть минимум 2 поля, одно для входных, другое для результатов функции. Так и записываешь пару: входное и выходное значение...
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |