powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / СУБД для временного хранения данных из бинарного файла (под Delphi).
25 сообщений из 311, страница 9 из 13
СУБД для временного хранения данных из бинарного файла (под Delphi).
    #37763209
Bazist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей АрсеньевBazistНет дружок, элементы или упорядочены или нет, третьего не дано.
Утрируете. Строгая сортировка, когда функция назначения порядкового номера элементу множества однозначная, если же порядок элементов в множестве может меняться и при этом множество остается упорядоченным, то это не строгое упорядочивание (но иное и невозможно в случае идентичности элементов множества).

Списки коллизий забыл...
...
Рейтинг: 0 / 0
СУБД для временного хранения данных из бинарного файла (под Delphi).
    #37763211
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей АрсеньевA={ai} - А это множество элементов ai

Вопрос - является ли ai членом множества B?

Поскольку множество B составлено из уникальных элементов множества A, то таки да: можно
утверждать, что любой элемент множества A является членом множества B.

Но я таки повторю свой вопрос: ответь одним словом: сортируются куртки (то есть входное
множество) при развешивании по крючкам (то есть заполнении хэш-таблицы) или нет? Просто
"да" или "нет".

Bazistв твоем уравнении хешфункция скрыта в реализации хештаблицы и может быть недетерминирована

Похоже, у нас разные определения "детерминированной функции". Я называю детерминированной
функцию, которая для одних и тех же входных данных производит один и тот же результат.
Поэтому в моём понимании хэш-функция не имеет права быть недетерминированной.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
СУБД для временного хранения данных из бинарного файла (под Delphi).
    #37763221
Bazist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovПохоже, у нас разные определения "детерминированной функции". Я называю детерминированной
функцию, которая для одних и тех же входных данных производит один и тот же результат.
Поэтому в моём понимании хэш-функция не имеет права быть недетерминированной.


В твоем понимании должно быть несколько хеш функций и какую именно захочет применить хештаблица для всего ряда ты не знаешь.
Поэтому с точки зрения пользователя чорного ящика под названием "Хеш таблица" ты не знаешь что скрывается под Хешфункцией и какой именно точно хеш будет сгенерирован для твоего ключа.
...
Рейтинг: 0 / 0
СУБД для временного хранения данных из бинарного файла (под Delphi).
    #37763222
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BazistВ твоем понимании должно быть несколько хеш функций и какую именно захочет применить
хештаблица для всего ряда ты не знаешь.

И мне это без разницы, поскольку сама хэш-функция в рамках данного топика иррелевантна.
Значение имеет только способ использования её результата.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
СУБД для временного хранения данных из бинарного файла (под Delphi).
    #37763224
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovПоскольку множество B составлено из уникальных элементов множества A, то таки да: можно утверждать, что любой элемент множества A является членом множества B.

Вот в этом твое с ними и расхождение - в терминологии.
Ты рассматриваешь B как объединение множеств C, а они как множество множеств.

Ну еще Bazist признает только строго упорядочнные множества (никаких <=).
...
Рейтинг: 0 / 0
СУБД для временного хранения данных из бинарного файла (под Delphi).
    #37763230
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей АрсеньевВот в этом твое с ними и расхождение - в терминологии.

Это я уже понял и даже предложил терминологию согласовать, но их определений так и не увидел.

Таки ответь: развешивание по крючкам это сортировка или нет?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
СУБД для временного хранения данных из бинарного файла (под Delphi).
    #37763240
Bazist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovBazistВ твоем понимании должно быть несколько хеш функций и какую именно захочет применить
хештаблица для всего ряда ты не знаешь.

И мне это без разницы, поскольку сама хэш-функция в рамках данного топика иррелевантна.
Значение имеет только способ использования её результата.


Подумай почему в СУБД широко используются сортированные деревья, но нахрен никому не нужен некий "порядок" хештаблицы, который впрочем в неудачных случаях вообще может выродится в тупой фулскан по коллизиям. Наверное потому что пользователи хотят видеть запросы чтото вроде WHERE date between '20120101' and '20120121' на упорядоченных данных, а все что делает хештаблица просто реализовывает свой очень узкоспециализированный алгоритм и достигается он кстате за счет отсудствия строгого порядка в записях.
...
Рейтинг: 0 / 0
СУБД для временного хранения данных из бинарного файла (под Delphi).
    #37763251
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BazistПоэтому с точки зрения пользователя чорного ящика под названием "Хеш таблица" ты не знаешь что скрывается под Хешфункцией и какой именно точно хеш будет сгенерирован для твоего ключа. Если честно то написав
Код: javascript
1.
var i = new Array(1024);

я тоже не знаю, на каких физических адресах окажутся элементы массива и будут ли они идти по возрастанию, но полагаю его упорядоченным множеством.
...
Рейтинг: 0 / 0
СУБД для временного хранения данных из бинарного файла (под Delphi).
    #37763257
Bazist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей АрсеньевBazistПоэтому с точки зрения пользователя чорного ящика под названием "Хеш таблица" ты не знаешь что скрывается под Хешфункцией и какой именно точно хеш будет сгенерирован для твоего ключа. Если честно то написав
Код: javascript
1.
var i = new Array(1024);

я тоже не знаю, на каких физических адресах окажутся элементы массива и будут ли они идти по возрастанию, но полагаю его упорядоченным множеством.

Массив гарантирует хотябы порядок следования один за одним элемента в адрессном пространстве.
А хештаблица даже и этого не гарантирует если начнет мержить разреженные страницы памяти.
Но откудаж вам это знать ?
...
Рейтинг: 0 / 0
СУБД для временного хранения данных из бинарного файла (под Delphi).
    #37763260
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovТаки ответь: развешивание по крючкам это сортировка или нет?

В случае упорядоченности крючков да. Но не строгая. Как заметил Bazist нестрогая за сортировку не катит.
...
Рейтинг: 0 / 0
СУБД для временного хранения данных из бинарного файла (под Delphi).
    #37763265
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BazistМассив гарантирует хотябы порядок следования один за одним элемента в адрессном пространстве.
В виртуальном или физическом?
...
Рейтинг: 0 / 0
СУБД для временного хранения данных из бинарного файла (под Delphi).
    #37763274
Bazist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей АрсеньевBazistМассив гарантирует хотябы порядок следования один за одним элемента в адрессном пространстве.
В виртуальном или физическом?

физическом. По индексу всегда можно забрать элемент.
...
Рейтинг: 0 / 0
СУБД для временного хранения данных из бинарного файла (под Delphi).
    #37763290
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bazistфизическом. По индексу всегда можно забрать элемент.
Нарушение логики. То что по индексу можно забрать элемент, не означает что функция преобразования индекса в физический адрес монотонна.

В юзерспейсе обычно массивы распологают в виртуальном адресном пространстве процесса. И массив может лежать в нескольких страницах. А как эти страницы отображаются на физические одному менеджеру памяти ведомо, они вообще могут частично на диске оказаться.
...
Рейтинг: 0 / 0
СУБД для временного хранения данных из бинарного файла (под Delphi).
    #37763298
Bazist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей АрсеньевBazistфизическом. По индексу всегда можно забрать элемент.
Нарушение логики. То что по индексу можно забрать элемент, не означает что функция преобразования индекса в физический адрес монотонна.

В юзерспейсе обычно массивы распологают в виртуальном адресном пространстве процесса. И массив может лежать в нескольких страницах. А как эти страницы отображаются на физические одному менеджеру памяти ведомо, они вообще могут частично на диске оказаться.

Не знаю чему вас сейчас в школе учат, но когда меня учили лет десять назад С++, то массив гарантировал что элементы будут в адрессном пространстве рядом. И собственно если менеджеру памяти не удасться выделить запрашиваемый цельный кусок памяти, то он просто пошлет нафиг и вылитит с ошибкой недостаточно памяти.
...
Рейтинг: 0 / 0
СУБД для временного хранения данных из бинарного файла (под Delphi).
    #37763326
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BazistНе знаю чему вас сейчас в школе учат, но когда меня учили лет десять назад С++, то массив гарантировал что элементы будут в адрессном пространстве рядом.
"Рядом в адресном пространстве процесса" вовсе не означает "рядом в физической памяти" или даже хотя бы "полностью в физической памяти". Если Вы выделите память под большой массив, и при этом с первой его третью будете работать редко, со второй - часто, а с третьей - вообще не работать, то через какое-то время окажется, что его вторая треть физически находится в кэше процессора, первая треть - не в кэше, но в оперативке, а третья - в свопе.
...
Рейтинг: 0 / 0
СУБД для временного хранения данных из бинарного файла (под Delphi).
    #37763332
Bazist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerBazistНе знаю чему вас сейчас в школе учат, но когда меня учили лет десять назад С++, то массив гарантировал что элементы будут в адрессном пространстве рядом.
"Рядом в адресном пространстве процесса" вовсе не означает "рядом в физической памяти" или даже хотя бы "полностью в физической памяти". Если Вы выделите память под большой массив, и при этом с первой его третью будете работать редко, со второй - часто, а с третьей - вообще не работать, то через какое-то время окажется, что его вторая треть физически находится в кэше процессора, первая треть - не в кэше, но в оперативке, а третья - в свопе.

вы бы еще назвали что транзисторы не рядом на процессоре блин ....

Короче пойду я от этих зануд.
...
Рейтинг: 0 / 0
СУБД для временного хранения данных из бинарного файла (под Delphi).
    #37763333
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BazistНе знаю чему вас сейчас в школе учат, но когда меня учили лет десять назад С++, то массив гарантировал что элементы будут в адрессном пространстве рядом.
"Рядом в адресном пространстве процесса" вовсе не означает "рядом в физической памяти" или даже хотя бы "полностью в физической памяти". Если Вы выделите память под большой массив, и при этом с первой его третью будете работать редко, со второй - часто, а с третьей - вообще не работать, то через какое-то время окажется, что его вторая треть физически находится в кэше процессора, первая треть - не в кэше, но в оперативке, а третья - в свопе.
...
Рейтинг: 0 / 0
СУБД для временного хранения данных из бинарного файла (под Delphi).
    #37763337
Bazist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Весь топек сплошная подмена понятий какихто ...
Кеши процессора оказались областью памяти "не рядом", хештаблица оказалась с неким порядком, но почемуто нужной только ей для узкоспециализированой задачи ... и т.д.
...
Рейтинг: 0 / 0
СУБД для временного хранения данных из бинарного файла (под Delphi).
    #37763347
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bazistвы бы еще назвали что транзисторы не рядом на процессоре блин ....
Ну если для Вас "рядом" означает "внутри одного системного блока", то не смею задерживать.
...
Рейтинг: 0 / 0
СУБД для временного хранения данных из бинарного файла (под Delphi).
    #37763357
Bazist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerBazistвы бы еще назвали что транзисторы не рядом на процессоре блин ....
Ну если для Вас "рядом" означает "внутри одного системного блока", то не смею задерживать.

Рядом означает обыкновенную адрессную арифметику и ничего более.
Можно добыть сотый элемент по смещению и это время будет гарантировано более/менее константно
в отличии от всех других структур памяти, типо связных списков и тд.
...
Рейтинг: 0 / 0
СУБД для временного хранения данных из бинарного файла (под Delphi).
    #37763366
Bazist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но как говорил Энштейн,

"Когда умный показывает пальцем на небо, дурак смотрит на палец"(с)

Вот и им, про адрессную арифметику, а они про кеши процессора

Очень полезная инфа
...
Рейтинг: 0 / 0
СУБД для временного хранения данных из бинарного файла (под Delphi).
    #37763370
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Задача:
> Мальчик Петя дежурит по раздевалке, в которой есть вешалка с крючками,
> подписанными от 1
> до 100. На полу валяется куча курток, на которых пришиты бирки с номерами.
> Мальчик Петя
> берёт куртки из кучи и вешает на крючки с соответствующими номерами.

Аналогия неверная.
Это -- массив.
Хэш-таблица выглядит по-другому:

есть 20 вешалок, на вешалках крючки БЕЗ НОМЕРОВ.
На каждой вешалке можно повесить 40 курток.
На каждой куртке -- класс и имя и фамилия ученика (считаем, что
класс и ФИО уникальны внутри школы).

Приходит ученик, гардеробщик берёт у него куртку и
ученик уходит. Гардеробщик, чтобы не перебирать потом
все 20*40 = 800 крючков, когда надо будет выдать куртку,
ведёт ведомость, на какую вешалку он повесил какую куртку.
(вешалки от 1 до 20). И даже не так, ему ЛЕНЬ вести ведомость,
и он придумал правило -- я возьму номер по порядку буквы алфавита,
с которой начинается имя ученика, вычислю от остаток от деления на 20
(кол-во вешалок) и на эту вешалку буду всегда вешать куртку.

Соотв. приходит ученик за курткой, говорит: "Я-- Вася Иванов,
5Б класс". Гардеробщик -- АГА! "И" - это 10-ая вешалка, пойду
поищу там Иванова Васю из 5-го Б. Идёт, смотрить ВСЕ (!) куртки
на крючках (где, разумеется, есть куртки), и читает бирки,
ищет нужную куртку. Находит -- отдаёт, не находит -- говорит --
"А извини, мальчик, ты мне сегодня куртку не сдавал.".

Вот теперь можно задаваться вопросом, упорядочены ли куртки на вешалках.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
СУБД для временного хранения данных из бинарного файла (под Delphi).
    #37763371
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BazistНе знаю чему вас сейчас в школе учат, но когда меня учили лет десять назад С++, то массив гарантировал что элементы будут в адрессном пространстве рядом.
1. пример был не на C++
2. Я уточнил про виртуальное (процесса) или физическое (компьютера) адресное пространство. Ноне оно вообще может оказаться в NUMA архитектуре, что идущие подряд элементы, будут лежать в адресных пространствах разных контроллеров памяти. Жуть. Но представление об системе как о черном ящике жить не мешает.

Резюмирую (на сегодня надоело переливать из пустого в порожнее).
Была задача поиск в 1E6 элементов. Даже простая группировка на тысячу групп по тысяче элементов скороее всего значительно сократит количество переборов при поиске.
Если же данные отсортированны, то поиск можно еще сократить (хоть методом пополамного деления).

Ускорять поиск можно как за счет добавления уровней группировок, так и за счет упорядочивания групп.
...
Рейтинг: 0 / 0
СУБД для временного хранения данных из бинарного файла (под Delphi).
    #37763380
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>
> Ага... Я уже заценил уровень "профессионализма" человека, для которого нормально
> для хэш-таблицы "на лету" менять хэш-функцию, не осознавая, что для этого нужно
> строить СОВЕРШЕННО ДРУГУЮ, НОВУЮ хэш-таблицу, и который считает перестройку
> хэш-таблицы на пару-тройку десятков миллионов элементов - копеечной задачей...

Я тебе потом расскажу про рехэширование, на том же примере свешалками, если сам
не дойдёшь.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
СУБД для временного хранения данных из бинарного файла (под Delphi).
    #37763383
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BazistВесь топек сплошная подмена понятий какихто ...
Вы не поверите, начиналось все с любимого холиварного вопроса - какую БД выбрать.

Смею заметить, что другого подобного топика посвященного этому вопросу, где бы апологеты не обливали грязью не их любимые СУБД еще поискать...
...
Рейтинг: 0 / 0
25 сообщений из 311, страница 9 из 13
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / СУБД для временного хранения данных из бинарного файла (под Delphi).
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]