Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сжать строку 
:(
    Опции темы
Арматур Батыр
  Дата 10.8.2005, 22:53 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Надо сжать строку и распаковать потом.
Я не математик и мне чёто туго с этими делами, а юзать LZMA тут слишком круто будет.

Вот типа надо придумать функции:
Код

public static String CompressStr(String InStr)
{
......
}
public static String DecompressStr(String InStr)
{
......
}


Принимаю идеи на любых языках, дальше переведу сам.
Также буду очень рад ссылкам по теме.
  Вверх
Akina
Дата 10.8.2005, 23:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 20
Всего: 454



В общем случае строку может оказаться вообще невозможно сжать...

Мало (слишком мало!) данных. Что за строка? какой возможен набор символов? какие требования к скорости работы? и т.п...

Ссылки по теме - описания и исходники любых свободных алгоритмов компрессии и литература на эту тему, т.е. более чем много.

ЗЫ. Если ты не на полчаса - можешь зарегистрироваться. По крайней мере будешь уведомления об ответах в мыло получать.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Арматур Батыр
Дата 10.8.2005, 23:24 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Строка обычная от 1 до 255 символов.
Ориентировочно содержит текст, т.е. символы A..Z, А..Я, 0..9 + спец.
Желательна быстрая работа.
Программа будет встроена в базу Oracle.
  Вверх
sergejzr
Дата 11.8.2005, 00:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 4
Всего: 360



Цитата
Ориентировочно содержит текст, т.е. символы A..Z, А..Я, 0..9 + спец.

smile Таблицу с символами надо бы smile


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
DENNN
Дата 11.8.2005, 09:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 1
Всего: 43



ИМХО, если строка меньше 10-15 символов, то сжимать вообще не стОит.
PM ICQ   Вверх
Akina
Дата 11.8.2005, 09:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 20
Всего: 454



DENNN
а может там 15 цифр... так чего же не сжать?


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Петрович
Дата 11.8.2005, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1000
Регистрация: 2.12.2003
Где: Москва

Репутация: нет
Всего: 55



Цитата
A..Z, А..Я, 0..9 + спец

Поскольку под спец можно понимать все кроме A..Z, А..Я, 0..9, то получается весь набор. smile.



--------------------
Все знать невозможно, но хочется
PM ICQ   Вверх
DENNN
Дата 11.8.2005, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 1
Всего: 43



Цитата(Akina @ 11.8.2005, 09:17)
а может там 15 цифр... так чего же не сжать?

Согласен. Только автора надо за язык тянуть, чтоб он сказал что же за текст у него smile))
PM ICQ   Вверх
Петрович
Дата 11.8.2005, 12:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1000
Регистрация: 2.12.2003
Где: Москва

Репутация: нет
Всего: 55



Похоже он сам не знает smile


--------------------
Все знать невозможно, но хочется
PM ICQ   Вверх
Ch0bits
Дата 11.8.2005, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Python Dev.
****


Профиль
Группа: Завсегдатай
Сообщений: 2124
Регистрация: 21.2.2005
Где: Казань

Репутация: нет
Всего: 62



По моему сжимать одну строку не имеет смысла. Служебрая информация может оказаться больше исходной строки.
Если бы можно было сделать буферизацию, т.е. накапливать строки например в массиве, то это уже другое дело.
PM WWW   Вверх
Петрович
Дата 11.8.2005, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1000
Регистрация: 2.12.2003
Где: Москва

Репутация: нет
Всего: 55



Смысл иногда имеется. Но только тогда, когда строка гарантированно содержит избыточность. Если же в строке может быть все что угодно, то смысла и правда нет.


--------------------
Все знать невозможно, но хочется
PM ICQ   Вверх
Y-Vladimir
Дата 12.8.2005, 13:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 263
Регистрация: 16.7.2004
Где: Казань

Репутация: 1
Всего: 6



Цитата(Vadim999 @ 11.8.2005, 16:49)
По моему сжимать одну строку не имеет смысла. Служебрая информация может оказаться больше исходной строки.

LZW и Хафман позволяет жимать безо всякой служебной информации - эти алгоритмы можно применять при любой длине строки.
И не настолько они сложные - исходников полно.

Это сообщение отредактировал(а) Y-Vladimir - 12.8.2005, 13:53


--------------------
PM MAIL WWW   Вверх
Петрович
Дата 12.8.2005, 17:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1000
Регистрация: 2.12.2003
Где: Москва

Репутация: нет
Всего: 55



Цитата(Y @ 12.8.2005, 14:51)
LZW и Хафман позволяет жимать безо всякой служебной информации

Интересно, это как?
Цитата(Y @ 12.8.2005, 14:51)
эти алгоритмы можно применять при любой длине строки

Ну и во что он сожмет строку: "Вася+Петя=?" ?
Думаю что в лучшем случае в результате получится: "Вася+Петя=?". smile
Добавлено @ 17:14
Применять-то конечно можно. Только вот что получишь в результате?

Это сообщение отредактировал(а) Петрович - 12.8.2005, 17:13


--------------------
Все знать невозможно, но хочется
PM ICQ   Вверх
SoWa
Дата 15.8.2005, 21:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Харекришна
****


Профиль
Группа: Комодератор
Сообщений: 2422
Регистрация: 18.10.2004

Репутация: 6
Всего: 74



Сделай словарик, как мне сказали в "40 Гб" и по нему сжимай хоть до килобайта.
Ведь уже доказывалось и не раз, что текст сжать невозможно(док-во на бинарном алфавите).


--------------------
Всем добра smile
PM MAIL ICQ   Вверх
esperant0
Дата 18.8.2005, 19:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 714
Регистрация: 20.5.2005

Репутация: 4
Всего: 14



Самой лучшей программой сжатия, является ф-ия сору. Она единственная НИКОГДА не увиличивает размер исходного файла.


--------------------
 
 Student->Teacher Assistant ->Research assistant->Microsoft Software Development Engineer 

Пользователь получил наказание за то, что проигнорировал замечание которое было написано модератором  а затем стерто и которое он - пользователь не мог видеть. 
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0577 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.