Главная страница


ru.algorithms

 
 - RU.ALGORITHMS ----------------------------------------------------------------
 From : Rodion Gorkovenko                    2:5030/1286.6  25 May 2003  02:15:00
 To : Victor Anikeev
 Subject : координаты
 -------------------------------------------------------------------------------- 
 
 25 May 03 01:55, you wrote to All:
 
 VA>  Есть матрица размером 256x256 и список координат в ней.
 VA>  Более 90% соседних пар координат расположены в соседних ячейках
 VA>  Как наиболее эффективно хранить список в плане занимаемого места?
 
 Я сразу отмечу, что весьма слабо разбираюсь в данном вопросе - а по идее, лучше 
 всего в вопросе разбираешься именно ты, поскольку это твои данные и тебе гораздо
 лучше видно, как их паковать ;)
 
 VA>  У меня есть только одна идея.
 VA>  1. Разбить все координаты на непрерывные группы и в начале каждой
 VA> группы записать ее размер. Следующие два байта - точные координаты
 VA> первой точки. Далее только смещения.
 
 По-моему очень крутая идея. Альтернативный вариант (изврат!) могу предложить с
 кодами переменной длины такого позорного свойства, чтобы чем меньше было число, 
 тем короче оно записывалось (как конкретно реализовать - тебе виднее)...
 Hапример, использовать троичную систему счисления (с записью каждого знака в два
 бита - комбинация 11 используется для разделения значений) - или семеричную, с
 записью в три бита... А лучше типа как это - беспрефиксных кодов, что ли? Как у 
 Хаффмана, например... А дальше вопрос в том, как эти значения применить - если, 
 например, точки в матрице часто стоят рядом, но не обязательно соседи, можно
 записывать для каждой следующей смещение по x и по y, при этом чем меньше
 смещение, тем короче оно записывается... А можно вместо ортогональных координат 
 использовать вроде того, что предложил ты - по улитке.
 То есть вокруг центральной точки идут, начиная с северной, против часовой
 стрелки, номера 0-7, потом отстоящие на две клетки, за номерами 8-23, если я не 
 ошибаюсь, и так далее... Hо тут опять же тебе виднее - если точки чаще всего
 именно соседствуют - то, по-моему, твоя идея оптимальна...
 
 с почтеньем,
 Rodion
 
 ---
  * Origin:  (2:5030/1286.6)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 координаты   Victor Anikeev   25 May 2003 01:55:06 
 координаты   Rodion Gorkovenko   25 May 2003 02:15:00 
 координаты   Sasha Mokrov   23 Jun 2003 11:36:37 
Архивное /ru.algorithms/39753ed029b6.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional