Алгоритм выдачи разницы двух массивов
От: kanashin  
Дата: 09.09.05 17:50
Оценка:
Описание системы:
есть два массива по 81920 байт.
ЗАДАЧА: Необходимо произвести сравнение двух массивов, и сгенерировать последовательность команд для некоего устройства, описывающих разницу между массивами.
Команды есть двух типов:
1) выдача адреса следующей выводимой последовательности байтов. Обзовем ее ADDR(<value>)
2) выдача последовательности одинаковых байтов указанной длины. Обзовем ее BYTE(<value>,<count>). Количество одновременно выдаваемых байтов с помощью этой команды ограничено значением 12. При выдаче последовательности байтов текущий адрес выдачи смещается автоматически. Адрес необходимо выдавать, только если выдается последовательность байтов, не примыкающая к предыдущей выданной.

Задача: разработать алгоритм решения описанной задачи=)
Как продолжение задачи могу указать, что этот алгоритм должен быть реализован на С в процедуре драйвера ядра Linux на 486 процессоре. Команды подаются путем выдачи значения в 16-ти разрядный порт.
Задача мной решена, но хотел бы узнать какие-либо новые варианты.
Re: Алгоритм выдачи разницы двух массивов
От: Alex Alexandrov США  
Дата: 10.09.05 10:12
Оценка:
Здравствуйте, kanashin, Вы писали:

K>Задача: разработать алгоритм решения описанной задачи=)

K>Как продолжение задачи могу указать, что этот алгоритм должен быть реализован на С в процедуре драйвера ядра Linux на 486 процессоре. Команды подаются путем выдачи значения в 16-ти разрядный порт.
K>Задача мной решена, но хотел бы узнать какие-либо новые варианты.

Ключевые слова для поиска по форуму и в Сети: diff, binary diff, longest common sequence.
... << RSDN@Home 1.1.4 beta 7 rev. 447>>
It's kind of fun to do the impossible (Walt Disney)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.