Size: a a a

2020 March 18

MB

Mikail Bagishov in pro.algorithms
Рассмотрим текст
AAAAAAAAAAABC
источник

MB

Mikail Bagishov in pro.algorithms
Код Хаффмана скажет A=0, B=10, C=11. Потратит N+4 бита.
Твой алгоритм скажет, A=00, B=01, C=10 и потратит 2N+4 бита.
источник

MB

Mikail Bagishov in pro.algorithms
N - это количество букв А
источник

а

акварель на мету in pro.algorithms
хм
источник

а

акварель на мету in pro.algorithms
Mikail Bagishov
Код Хаффмана скажет A=0, B=10, C=11. Потратит N+4 бита.
Твой алгоритм скажет, A=00, B=01, C=10 и потратит 2N+4 бита.
как мой может быть медленнее ? в Коде Хофмана нужно же еще бинарный поиск проводить для каждого символа вроде
источник

A

Aragaer in pro.algorithms
для большей достоверности - можно чтобы оно было реально вперемешку - N букв A, X букв B и Y букв C в каком-то порядке, причем N > X и N > Y
источник

A

Aragaer in pro.algorithms
не медленнее же, а больше по размеру
источник

а

акварель на мету in pro.algorithms
хм
источник

A

Aragaer in pro.algorithms
естественно код хаффмана медленнее, чем просто передать
источник

A

Aragaer in pro.algorithms
это трейдофф между скоростью отклика и пропускной способностью. Мы тратим лишнее время чтобы закодировать и декодировать, но зато получаем пакеты меньшего размера, которые могут пролезть через очень тонкий канал/поместиться на очень маленький носитель
источник

/dev/urandon ¯\_(ツ)_/¯ in pro.algorithms
Aragaer
это трейдофф между скоростью отклика и пропускной способностью. Мы тратим лишнее время чтобы закодировать и декодировать, но зато получаем пакеты меньшего размера, которые могут пролезть через очень тонкий канал/поместиться на очень маленький носитель
Поправочка:
Не меньше, а ожидаемо (в среднем) меньше в рамках модели, где распределение символов считается независимым
источник

A

Aragaer in pro.algorithms
да
источник

A

Aragaer in pro.algorithms
ну собссно известно же, что для любого способа сжатия существует как минимум одна несжимаемая последовательность
источник

SP

Sergey Polyakov in pro.algorithms
здраствуйте ,делаю алгоритм Крускала и для его реализации необходимо проверка на ацикличность при добавлении нового ребра нашел тут код  https://e-maxx.ru/algo/finding_cycle ,но немогу понять для чего нужны эти векторы vector<char> cl;
vector<int> p;  можите подсказать пожалуйста для чего они
источник

MB

Mikail Bagishov in pro.algorithms
Sergey Polyakov
здраствуйте ,делаю алгоритм Крускала и для его реализации необходимо проверка на ацикличность при добавлении нового ребра нашел тут код  https://e-maxx.ru/algo/finding_cycle ,но немогу понять для чего нужны эти векторы vector<char> cl;
vector<int> p;  можите подсказать пожалуйста для чего они
Массив p - это дерево обхода.
Массив cl - это метки used.
Но вообще, для краскала этот алгоритм не нужен
источник

MB

Mikail Bagishov in pro.algorithms
Если писать его вот так, получится асимптотика VE.
А если на системе непересекающихся множеств, то E log V.
источник

A(

Andrey (@AndrewB330) in pro.algorithms
Mikail Bagishov
Если писать его вот так, получится асимптотика VE.
А если на системе непересекающихся множеств, то E log V.
не V^2?
источник

A(

Andrey (@AndrewB330) in pro.algorithms
а, сори, там просто дфс
источник

MB

Mikail Bagishov in pro.algorithms
Да, ты прав. Но это нужно еще отсечение поставить.
источник

MB

Mikail Bagishov in pro.algorithms
Но все равно хуже чем E log V.
источник