Форум программистов, компьютерный форум CyberForum.ru

Алгоритм Хаффмана - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Массив http://www.cyberforum.ru/cpp-beginners/thread269156.html
Дана матрица n*m. Сформировать одномерный массив X(m), состоящий из максимальных элементов каждого столбца. В полученом массиве выбрать наименьший элемент и количество нечётных чисел.
C++ Функция strcpy цель очевидна. почему не работает? :-| #include <iostream> void strcpy(char *from, char *to) { to=from; } int main() { char* f = "The array of chars"; char* t = "An Array of chars!"; strcpy(f,t); http://www.cyberforum.ru/cpp-beginners/thread269153.html
C++ fatal error C1004
>c:\documents and settings\er\мои документы\visual studio 2008\projects\project14\project14\project14.cpp(14) : fatal error C1004: непредвиденное обнаружение конца файла #include <stdafx.h> #include <iostream> #include "incl.h" #include "project141.cpp" #include <cstdlib> using namespace std;
C++ конструкция
Доброго времени суток, с с++ мало знаком не могли бы пояснить некоторые моменты кода. #include <math.h> void tred2(float **a, int n, float *d, float *e) { int l,k,j,i; float scale,hh,h,g,f; /* Проход по стадиям процесса редукции */ for(i=n;i>=2;i--) { l=i-1; h=scale=0.;
C++ Программа для поиска минимального значения функции http://www.cyberforum.ru/cpp-beginners/thread269127.html
Всем привет! Помогите разобраться и найти ошибку в коде программы. В задачу входило скомпилировать программу на С++, которая ищет оптимальные значения X (минимум) в уравнении, содержащем эффекты линейного взаимодействия x2*x3, x2*x5 и квадратичный эффект x4^2 Уравнение выглядит следующим образом: y=226,17 + 57,72x1 + 17,51x4 + 22,92x5 - 11,43x1x3 + 15,22x2x3 + 29,83x2x5 + 6,86x4^2 Проект...
C++ Как сделать pack() из php Здравствуйте! В php есть функция pack() Подскажите пожалуйста, как в с++ реализовать строку из php $string= pack('H*', '202cb962ac59075b964b07152d234b70'); Спасибо. Добавлено через 37 минут а если быть точнее, то в с++ у меня есть string pw ("abc"); string md5 (md5(pw)); подробнее

Показать сообщение отдельно
Vladimir.
155 / 155 / 10
Регистрация: 24.11.2009
Сообщений: 375
03.04.2011, 12:16     Алгоритм Хаффмана
Собсвтенно, правило построения дерева и описывается алгоритмом Хаффмена.
если память не изменяет мне, то
нужно представлять два самых редких символа (с часотой Р1 и Р2), как один новый (с частотой Р = Р1+Р2) и повторять это представление пока не останется всего два символа. Закодировать один 1 второй 0 и выполнить обратый ход для каждого. Т.е. разделять "новые" символы на два подсимвола приписывая 1 и 0 к их кодовым последовательностям.
Звучит ужасно. Пример (в скобках частота):
  • а(30), б(12), в(25), г(3), д(16).
выполняем прямой ход:
  1. а(30), б(12), в(25), г(3), д(16).
  2. а(30), бг(15), д(16), в(25)
  3. а(30), бгд(31), в(25)
  4. ав(55), бгд(31)
кодируем ав 1, бгв 0.
обратный ход(кодовая последовательность в скобках)
  1. ав(1), бгд(0)
  2. ав(1) = а (11),в (10), бгд (0) = бг (01), д(00)
  3. а (11), в (10), бг (01) = б(011), г(010) , д(00)
получаем кодовую таблицу
  • а=11, б=011, в=10, г=010, д=00.
теперь слово "баба" представляется как 0111101111, а слово "гад" как 0101100.

Осталось дело за малым - превратить эту идею в код =)
 
Текущее время: 17:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru