모금 9월 15일 2024 – 10월 1일 2024 모금에 대해서

Создание эффективной реализации сортированного списка с...

Создание эффективной реализации сортированного списка с использованием generics

Смирнов Сергей.
이 책이 얼마나 마음에 드셨습니까?
파일의 품질이 어떻습니까?
책의 품질을 평가하시려면 책을 다운로드하시기 바랍니다
다운로드된 파일들의 품질이 어떻습니까?
B+-деревья
Реализация двухуровневого массиваСтатья содержит описание реализации линейного односвязного списка на базе массивов. Пример реализации приведен с использованием Visual Basic 6.0Так случилось, что я стал программистом 1С. Все прекрасно в этой среде, за исключением скорости. Эту проблему можно решить только одним способом: прямым доступом к файлам и обработкой результатов на компилируемом языке в памяти.
Так, для группирования данных нужны алгоритмы поиска и вставки. И мое сознание, отягощенное бухгалтерским учетом, не нашло ничего лучшего, чем использовать аналог TList (SortedList), представляющий собой динамический массив со свойствами «емкость» и «количество элементов».
Упорядоченность в этом массиве поддерживается с помощью компараторов, а при поиске используется алгоритм половинного деления с поиском нужной позиции i по ключу с условием (Items[i] =Key) AND (Items[i-1] Key). Если такого ключа нет, то все данные с позиции i переносятся на одну позицию в большую сторону. При этом используются процессорные команды MOVSW и MOVSB, которые выполняются очень быстро. При полном заполнении массива его размер увеличивается либо за счет свободных адресов, следующих за конечным адресом в массиве, либо с помощью выделения нового массива большей емкости с копированием данных из оригинала.
Но время шло, и объем группировок вышел за 10000 записей. Мой AMD K6 200 (мощный по тем временам компьютер) начал работать слишком меленно. И не удивительно – количество сдвигаемых элементов в среднем стало равно N2/4, то есть 108.
언어:
russian
파일:
DOC, 144 KB
IPFS:
CID , CID Blake2b
russian0
다운로드 (doc, 144 KB)
로의 변환이 실행 중입니다
로의 변환이 실패되었습니다

주로 사용되는 용어