Обновить sk1/README.md
This commit is contained in:
		
							parent
							
								
									ddfe40aa8a
								
							
						
					
					
						commit
						4b78ee30b4
					
				| @ -0,0 +1,54 @@ | ||||
| Nástroj na kompresiu súborov | ||||
| 
 | ||||
| Popis úlohy: | ||||
| 
 | ||||
| Tento projekt implementuje nástroj na kompresiu a dekompresiu súborov pomocou dvoch rôznych kompresných algoritmov: Huffmanovo kódovanie a LZ77. Nástroj si poradí s binárnymi súbormi až do veľkosti 10 MB. Komprimovaný súbor by mal byť menší aspoň o 10 % a dekomprimovaný súbor by sa mal presne zhodovať s pôvodným súborom. | ||||
| 
 | ||||
| Rozhranie príkazového riadka: | ||||
| Komprimovať súbor: | ||||
| ./compressor -c vstupný súbor výstupný súbor | ||||
| 
 | ||||
| Komprimuje vstupný súbor pomocou zadaného kompresného algoritmu a výsledok zapíše do výstupného súboru. | ||||
| 
 | ||||
| Dekomprimovať súbor: | ||||
| ./compressor -d skomprimovaný nekomprimovaný | ||||
| 
 | ||||
| Dekomprimuje komprimovaný súbor a výsledok zapíše do nekomprimovaného súboru. | ||||
| 
 | ||||
| Pomocník: | ||||
| ./kompresor -h | ||||
| 
 | ||||
| Zobrazuje pomoc a informácie o používaní. | ||||
| 
 | ||||
| Obmedzenia: | ||||
| Program pracuje s binárnymi súbormi do 10 MB. | ||||
| Kompresia by mala zmenšiť veľkosť súboru aspoň o 10 %. | ||||
| Dekomprimovaný súbor sa musí zhodovať s pôvodným súborom. | ||||
| Používa iba štandardné knižnice. | ||||
| Riešenie môže byť inšpirované verejne dostupným kódom, ale musí byť vyvinuté nezávisle a musí odkazovať na všetky takéto zdroje. | ||||
| Prehľad funkcií | ||||
| Program ponúka dva kompresné algoritmy: | ||||
| 
 | ||||
| Huffmanovo kódovanie: Algoritmus bezstratovej kompresie údajov, ktorý priraďuje vstupným znakom kódy s premenlivou dĺžkou na základe ich frekvencií. | ||||
| LZ77 Compression: Algoritmus založený na slovníku, ktorý komprimuje údaje nahradením opakovaných výskytov údajov odkazmi na predchádzajúce výskyty vo vstupnom toku. | ||||
| Prehľad riešení | ||||
| Riešenie je štruktúrované do niekoľkých komponentov: | ||||
| 
 | ||||
| kompresor.h: Obsahuje deklarácie funkcií pre kompresiu a dekompresiu. | ||||
| kompresor.c: Implementuje kompresné a dekompresné algoritmy. | ||||
| main.c: Obsahuje hlavnú funkciu, správu vstupov z príkazového riadka a volanie príslušných funkcií. | ||||
| Makefile: Obsahuje pravidlá zostavovania na zostavenie projektu pomocou príkazu make. | ||||
| README.md: Dokumentácia vysvetľujúca funkčnosť a dizajn projektu. | ||||
| Kľúčové funkcie: | ||||
| compress_1: Komprimuje súbor pomocou Huffmanovho kódovania a zapisuje komprimovaný súbor. | ||||
| decompress_1: Dekomprimuje súbor, ktorý bol komprimovaný pomocou Huffmanovho kódovania. | ||||
| compress_2: Komprimuje súbor pomocou LZ77 a zapisuje komprimovaný súbor. | ||||
| decompress_2: Dekomprimuje súbor, ktorý bol komprimovaný pomocou LZ77. | ||||
| Predpoklady: | ||||
| Vstupné súbory sú binárne súbory s maximálnou veľkosťou 10 MB. | ||||
| Program predpokladá použitie štandardných I/O operácií na čítanie a zápis binárnych dát. | ||||
| Testovanie | ||||
| Nástroj bol testovaný pomocou súborov z korpusu Canterbury, aby sa zabezpečila jeho funkčnosť a efektívnosť kompresie. | ||||
| 
 | ||||
| Použité zdroje: | ||||
| Video na YouTube o algoritme fungovania týchto kódovacích algoritmov | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user