Первая стратегия
условно может быть названа стратегией с областью переполнения. При выборе этой
стратегии область хранения разбивается на 2 части:
Для каждой
новой записи вычисляется значение хэш-функции, которое определяет адрес ее расположения,
и запись заносится в основную область в соответствии с полученным значением
хэш-функции.
Основная область:
Если вновь
заносимая запись имеет значение функции хэширования такое же, которое использовала
другая запись, уже имеющаяся в БД, то новая запись заносится в область переполнения
на первое свободное место, а в записи-синониме, которая находится в основной
области, делается ссылка на адрес вновь размещенной записи в области переполнения.
Если же уже существует ссылка в записи-синониме, которая расположена в основной
области, то тогда новая запись получает дополнительную информацию в виде ссылки
и уже в таком виде заносится в область переполнения.
При этом
цепочка синонимов не разрывается, но мы не просматриваем ее до конца, чтобы
расположить новую запись в конце цепочки синонимов, а располагаем всегда новую
запись на второе место в цепочке синонимов, что существенно сокращает время
размещения новой записи. При таком алгоритме время раз"-мещения любой новой
записи составляет не более двух обращений к диску, с учетом того, что номер
первой свободной записи в области переполнения хранится в виде системной переменной.
Рассмотрим
теперь механизмы поиска произвольной записи и удаления записи для этой стратегии
хэширования.
При поиске
записи также сначала вычисляется значение ее хэш-функции и считывается первая
запись в цепочке синонимов, которая расположена в основной области. Если искомая
запись не соответствует первой в цепочке синонимов, то далее поиск происходит
перемещением по цепочке синонимов, пока не будет обнаружена требуемая запись.
Скорость поиска зависит от длины цепочки синонимов, поэтому качество хэш-функции
определяется максимальной длиной цепочки синонимов. Хорошим результатом может
считаться наличие не более 10 синонимов в цепочке.
При удалении
произвольной записи сначала определяется ее место расположения. Если удаляемой
является первая запись в цепочке синонимов, то после удаления на ее место в
основной области заносится вторая (следующая) запись в цепочке синонимов, при
этом все указатели (ссылки на синонимы) сохраняются.
Если же удаляемая запись находится в середине цепочки синонимов, то необходимо провести корректировку указателей: в записи, предшествующей удаляемой, в цепочке ставится указатель из удаляемой записи. Если это последняя запись в цепочке, то все равно механизм изменения указателей такой же, то есть в предшествующую запись заносится признак отсутствия следующей записи в цепочке, который ранее хранился в последней записи.
1. Электромагнитная волна (в религиозной терминологии релятивизма - "свет") имеет строго постоянную скорость 300 тыс.км/с, абсурдно не отсчитываемую ни от чего. Реально ЭМ-волны имеют разную скорость в веществе (например, ~200 тыс км/с в стекле и ~3 млн. км/с в поверхностных слоях металлов, разную скорость в эфире (см. статью "Температура эфира и красные смещения"), разную скорость для разных частот (см. статью "О скорости ЭМ-волн")
2. В релятивизме "свет" есть мифическое явление само по себе, а не физическая волна, являющаяся волнением определенной физической среды. Релятивистский "свет" - это волнение ничего в ничем. У него нет среды-носителя колебаний.
3. В релятивизме возможны манипуляции со временем (замедление), поэтому там нарушаются основополагающие для любой науки принцип причинности и принцип строгой логичности. В релятивизме при скорости света время останавливается (поэтому в нем абсурдно говорить о частоте фотона). В релятивизме возможны такие насилия над разумом, как утверждение о взаимном превышении возраста близнецов, движущихся с субсветовой скоростью, и прочие издевательства над логикой, присущие любой религии.
4. В гравитационном релятивизме (ОТО) вопреки наблюдаемым фактам утверждается об угловом отклонении ЭМ-волн в пустом пространстве под действием гравитации. Однако астрономам известно, что свет от затменных двойных звезд не подвержен такому отклонению, а те "подтверждающие теорию Эйнштейна факты", которые якобы наблюдались А. Эддингтоном в 1919 году в отношении Солнца, являются фальсификацией. Подробнее читайте в FAQ по эфирной физике.