Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/23: Рейтинг темы: голосов - 23, средняя оценка - 4.83
Заблокирован
1

Метод сжатия Хаффмана

22.11.2010, 11:23. Просмотров 4603. Ответов 8
Метки нет (Все метки)

Ктонибуть ответит по существу по теме ?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.11.2010, 11:23
Ответы с готовыми решениями:

Метод сжатия Хаффмана
Есть Метод сжатия Хаффмана или нет и как его использовать ? покажите если можите ? ну те кто уже...

помогите с реализацией алгоритма сжатия Хаффмана
помогите с реализацией алгоритма сжатия Хаффмана есть код в с++ в консольном приложении,...

Метод Хаффмана
Есть метод Хаффмана, но при выполнение в кодировании где-то добавляються переносы строк и из-за...

zlib метод\уровень сжатия
Как менять метод и уровень сжатия при этом применяя api?

8
Покинул форум
3177 / 1362 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
22.11.2010, 12:50 2
*В*Е*Л*И*К*А*Н*, Метод сжатия Хаффмана - здесь ответа не получили?
0
silent_1991
22.11.2010, 12:52
  #3

Не по теме:

NiTan, не, вы что, там же символов из языка не видно...

0
Заблокирован
23.11.2010, 14:18  [ТС] 4
нет там очень научно написали а простыми словами ?
0
2008 / 1280 / 60
Регистрация: 05.06.2010
Сообщений: 2,213
23.11.2010, 14:31 5
*В*Е*Л*И*К*А*Н*, есть хорошая книжка "Сэломон - Сжатие данных, изображений и звука." Там очень ясно и подробно все описано. Где используется? Там где нужно сжать данные Например используется как вторичное сжатие в формате jpeg. Если надо могу скинуть алгоритм декодирования, писал когда то еще во время учебы
1
Покинул форум
3177 / 1362 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
23.11.2010, 14:54 6
slice, еще одна такая шутка и накажу.
0
Заблокирован
23.11.2010, 18:46  [ТС] 7
Если можно скинте пример как это будет !
скажим кусок кода длинный и другой кусок уже кароткий с преминением ?
0
Покинул форум
3177 / 1362 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
23.11.2010, 18:59 8
*В*Е*Л*И*К*А*Н*, Исходники сжатия LZW,алгоритм Хаффмана
0
Заблокирован
23.11.2010, 22:36  [ТС] 9
это чтоли :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#ifdef DEBUG
#define DEBUGGER(Statements) Statements
#define WHERE(Statements) fprintf(stderr,"\n%s|%d\n",__FILE__,__LINE__);\
            Statements
#else
#define DEBUGGER(Statements) /* empty */
#define WHERE(Statements) /* empty */
#endif
 
или это :/* LZWCOM - FILE COMPRESSOR UTILITY                                     */
#include "stdio.h"
#include "debug.h"
#define FALSE    0
#define TRUE     !FALSE
#define TABSIZE  4096
#define NO_PRED  0xFFFF
#define EMPTY   0xFFFF 
#define NOT_FND 0xFFFF 
#define UEOF ((unsigned)EOF)
struct entry {
  char used;
  unsigned int next;      /* hi bit is 'used' flag                        */
  unsigned int predecessor;               /* 12 bit code                  */
  unsigned char follower;
} string_tab[TABSIZE];
 
/*   routines common to compress and decompress, contained in CommLZW.c */
unsigned hash();
unsigned unhash();
unsigned getcode();
putcode();
init_tab();
upd_tab();
 
FILE *op;
main(argc,argv)
int argc; char *argv[];
{
  register unsigned int c, code, localcode;
  int code_count = TABSIZE - 256;
  FILE *infd, *outfd;
  if (3 != argc) {
    fprintf(stderr,"Usage : lzwcom oldfilename squeezefilename\n");
    exit(0);
  }
  if ( -1 == (infd = fopen( *++argv, "r")) ) {
    fprintf(stderr,"Cant open %s\n", *argv);
    exit(0);
  }
  if ( -1 == (outfd = fopen(*++argv,"w")) ) {
    fprintf(stderr,"Cant create %s\n",*argv);
 
    exit(0);
  }
  init_tab();                           /* initialize code table        */
  c = getc(infd);
  code = unhash(NO_PRED,c);             /* initial code for table       */
  DEBUGGER (\
    if (c >= ' ' || c <= '~' || c == '\n' || c == '\r')\
        putchar(c);\
    else\
        printf("[%2x]",c);\
  )
  while ( UEOF != (c = getc(infd)) ) 
  {
      DEBUGGER (\
        if (c >= ' ' || c <= '~' || c == '\n' || c == '\r')\
            putchar(c);\
        else\
            printf("[%2x]",c);\
      )
      if ( NOT_FND != (localcode = unhash(code,c)) ) 
      {
          code = localcode;
          continue;
      }
/* when the above clause comes false, you have found the last known code */
      putcode(outfd,code);      /* only update table if table isn't full */
      DEBUGGER(printf( "\n%x\n",code);)
      if ( code_count ) 
      {
        upd_tab(code,c);
        DEBUGGER(printf("\nadding %x %c = %x\n",code,c,unhash(code,c));)
      --code_count;
      }
/* start loop again with the char that didn't fit into last string      */
      code = unhash(NO_PRED,c);
  }
  putcode(outfd,code);                  /* once EOF reached, always     */
                                        /* one code left unsent         */
  DEBUGGER(fprintf(stderr,"\n%x\n",code);)
  flushout(outfd);                      /* make sure everything's written */
  exit(0);                              /* make sure everything gets closed */
}
?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.11.2010, 22:36

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Метод сжатия строк, основанный на повторяющихся символах
Можете помочь написать программу на C++, доп. библиотек использовать нельзя Для управления котами...

Метод хаффмана (Помогите адаптировать под задание)
Может уже кто-то знаком с этим методом кодирования букв. Помогите адаптировать код представленный...

Алгоритм сжатия Хаффмана
Мне нужно реализовать сжатие текста алгоритмом Хаффмана. Я нашел неплохой исходник, но там...

Алгоритм сжатия Хаффмана
Может кто сталкивался с таким алгоритмом? Может у кого нибудь есть исходник, или подробный...

Алгоритм сжатия Хаффмана
помогите пожалуйста с данным алгоритмом, моя программа работает, вот только не сжимет, а наоборот,...

Исходники сжатия LZW,алгоритм Хаффмана
Люди у кого есть исходники желательно на С++ алгоритмов сжатия, LZW,алгоритм Хаффмена...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.