Shennon-Fano siqish algoritmi xaraktristikalarini hisoblash




Download 0,92 Mb.
bet5/5
Sana20.02.2024
Hajmi0,92 Mb.
#159700
1   2   3   4   5

{

{

k = h – j;

pack1 = pack2 = 0;

for (i = l; i <= k; i++)

pack1 = pack1 + p[i].pro;

for (i = h; i > k; i--)

pack2 = pack2 + p[i].pro;

diff2 = pack1 – pack2;

if (diff2 < 0)

diff2 = diff2 * -1;

if (diff2 >= diff1)

break;

diff1 = diff2;

j++;

}

k++;

for (i = l; i <= k; i++)

p[i].arr[++(p[i].top)] = 1;

for (i = k + 1; i <= h; i++)

p[i].arr[++(p[i].top)] = 0; } }


{
int i, j;
node temp;
for (j = 1; j <= n – 1; j++) {
for (i = 0; i < n – 1; i++) {
if ((p[i].pro) > (p[i + 1].pro)) {
temp.pro = p[i].pro;
temp.sym = p[i].sym;
p[i].pro = p[i + 1].pro;
p[i].sym = p[i + 1].sym;
p[i + 1].pro = temp.pro;
p[i + 1].sym = temp.sym;
}
}
}
}
// function to display Shannon codes
void display(int n, node p[])
{

{

k = h – j;

pack1 = pack2 = 0;

for (i = l; i <= k; i++)

pack1 = pack1 + p[i].pro;

for (i = h; i > k; i--)

pack2 = pack2 + p[i].pro;

diff2 = pack1 – pack2;

if (diff2 < 0)

diff2 = diff2 * -1;

if (diff2 >= diff1)

break;

diff1 = diff2;

j++;

}

k++;

for (i = l; i <= k; i++)

p[i].arr[++(p[i].top)] = 1;

for (i = k + 1; i <= h; i++)

p[i].arr[++(p[i].top)] = 0; } }

Natija

Enter number of symbols: 5

Enter symbol 1 : A

Enter symbol 2 : B

Enter symbol 3 : C

Enter symbol 4 : D

Enter symbol 5 : E

Enter probability of A : 0.22

Enter probability of B : 0.28

Enter probability of C : 0.15

Enter probability of D : 0.3

Enter probability of E : .05

Symbol Probability Code

D 0.3 00

B 0.28 01

A 0.22 10

C 0.15 110

E 0.05 111

XULOSA

Saqlash paytida kamroq xotira ishlatadigan ma’lumotlarni kodlash jarayoni ma’lumotlarni siqish deb nomlanadi. Ma’lumotlarni kodlashning ikkita usuli – Huffman kodlash va Shannon Fano algoritmi. Matn ma’lumotlari Shannon-Fano texnikasi yordamida siqilganda, yakuniy fayl hajmi ASCII kodlashdan foydalanilgandan kamroq bo’ladi. ASCII va Shannon-Fano algoritmi o’rtasidagi siqish nisbatiga ko’ra, katta hajmdagi ba’zi ma’lumotlar kichik o’lchamdagi ba’zi ma’lumotlarga aylantiriladi. ASCII belgilar uchun ma’lumotlarni siqish Huffman kodlash siqish texnikasi orqali amalga oshiriladi. Ushbu yondashuv ehtimollar to’plamidan yaratilgan va prefiks kodlariga ega bo’lishi shart bo’lmagan Huffman kodlaridan foydalanadi. Texnika minimal ketma-ketlikni ta’minlash uchun pastdan yuqoriga ikkilik daraxtni qurish uchun yuqoridan pastga strategiyasidan foydalanadi. Shannon Fano usuli faqat dekodlash mumkin bo’lgan va Huffman kodlash bilan solishtirish mumkin bo’lgan kod ishlab chiqarish uchun qo’llaniladi. Bundan tashqari, ma’lumotlar ushbu usulning ehtimollikdan foydalanish yordamida kodlanadi. Biroq, eng yaxshi kod ishlab chiqarish kafolatlanmaydi. Bu belgilar va ehtimollar to’plamiga mos keladigan prefiks kodlarini yaratish usuli deb tushuniladi.

Foydalanilgan Adabiyotlar

1. «Radio» jurnali, 9-son, 1999 yil.

Fanlar, Moskva

2. Klovskiy D.D. Signal uzatish nazariyasi. –M .: Aloqa, 1984 yil.

3. Kudryashov B.D. Axborot nazariyasi. Universitetlar uchun darslik PETER nashriyoti,

4. Ryabko B.Ya.Fionov A.N. Moslashishning samarali usuli

katta alifboli manbalar uchun arifmetik kodlash

// Axborot uzatish muammolari 1999 yil V.35, 95-son – 108-bet.

5. Semenyuk V.V. Diskret ma’lumotni iqtisodiy kodlash SPb .:

SPbGITMO (TU), 2001 yil

6. Dmitriev V.I. Amaliy axborot nazariyasi. M .: Oliy maktab,

7. Nefedov V.N., Osipova V.A. Diskret matematika kursi. M .: MAI,

8. Kolesnik V.D.Poltyrev G.Sh. Axborot nazariyasi kursi. M .: fan,


Download 0,92 Mb.
1   2   3   4   5




Download 0,92 Mb.

Bosh sahifa
Aloqalar

    Bosh sahifa



Shennon-Fano siqish algoritmi xaraktristikalarini hisoblash

Download 0,92 Mb.