Huffman is one of the compression algorithms. It is the most famous algorithm to compress text. There are four phases in the Huffman algorithm to compress text. The first is to group the characters. The second is to build the Huffman tree. The third is the encoding, and the last one is the construction of coded bits. The Huffman algorithm principle is the character that often appears on encoding with a series of short bits and characters that rarely appeared in bit-encoding with a longer series. Huffman compression technique can provide savings of 30% from the original bits. It works based on the frequency of characters. The more the similar character reached, the higher the compression rate gained.
I am Bernard. I am a Computer Networking Assignment Expert at computernetworkassignmenthelp.com. I hold a Master's in Computer Science from, University of Leeds, UK. I have been helping students with their assignments for the past 12 years. I solve assignments related to Computer Networking.
Visit computernetworkassignmenthelp.com or email support@computernetworkassignmenthelp.com.
You can also call on +1 678 648 4277 for any assistance with Computer Networking Assignment.
Database structure Structures Link list and trees and Recurison complete Adnan abid
Database structure Structures Link list and trees and Recurison complete Database structure Structures Link list and trees and Recurison complete Database structure Structures Link list and trees and Recurison complete Database structure Structures Link list and trees and Recurison complete Database structure Structures Link list and trees and Recurison complete
Database structure Structures Link list and trees and Recurison complete Database structure Structures Link list and trees and Recurison complete Database structure Structures Link list and trees and Recurison complete
I am Bernard. I am a Computer Networking Assignment Expert at computernetworkassignmenthelp.com. I hold a Master's in Computer Science from, University of Leeds, UK. I have been helping students with their assignments for the past 12 years. I solve assignments related to Computer Networking.
Visit computernetworkassignmenthelp.com or email support@computernetworkassignmenthelp.com.
You can also call on +1 678 648 4277 for any assistance with Computer Networking Assignment.
Database structure Structures Link list and trees and Recurison complete Adnan abid
Database structure Structures Link list and trees and Recurison complete Database structure Structures Link list and trees and Recurison complete Database structure Structures Link list and trees and Recurison complete Database structure Structures Link list and trees and Recurison complete Database structure Structures Link list and trees and Recurison complete
Database structure Structures Link list and trees and Recurison complete Database structure Structures Link list and trees and Recurison complete Database structure Structures Link list and trees and Recurison complete
AN ALGORITHM FOR OPTIMIZED SEARCHING USING NON-OVERLAPPING ITERATIVE NEIGHBOR...IJCSEA Journal
We have attempted in this paper to reduce the number of checked condition through saving frequency of the
tandem replicated words, and also using non-overlapping iterative neighbor intervals on plane sweep
algorithm. The essential idea of non-overlapping iterative neighbor search in a document lies in focusing
the search not on the full space of solutions but on a smaller subspace considering non-overlapping
intervals defined by the solutions. Subspace is defined by the range near the specified minimum keyword.
We repeatedly pick a range up and flip the unsatisfied keywords, so the relevant ranges are detected. The
proposed method tries to improve the plane sweep algorithm by efficiently calculating the minimal group of
words and enumerating intervals in a document which contain the minimum frequency keyword. It
decreases the number of comparison and creates the best state of optimized search algorithm especially in
a high volume of data. Efficiency and reliability are also increased compared to the previous modes of the
technical approach.
This ppt includes -
History
Introduction
R Basics
Download and Install R
GUI /IDE
Datatypes and Operators
Conditional Statements and Loops
Functions
Plotting
Features
Comparison with other programming languages
Merits / Advantages
Demerits / Disadvantages
Conclusion
The work shows that a program can be
syntactically represented as an oriented word tree, that is a syntactic program tree, program
words being located both in tree nodes and on tree arrows.
A Survey of String Matching AlgorithmsIJERA Editor
The concept of string matching algorithms are playing an important role of string algorithms in finding a place where one or several strings (patterns) are found in a large body of text (e.g., data streaming, a sentence, a paragraph, a book, etc.). Its application covers a wide range, including intrusion detection Systems (IDS) in computer networks, applications in bioinformatics, detecting plagiarism, information security, pattern recognition, document matching and text mining. In this paper we present a short survey for well-known and recent updated and hybrid string matching algorithms. These algorithms can be divided into two major categories, known as exact string matching and approximate string matching. The string matching classification criteria was selected to highlight important features of matching strategies, in order to identify challenges and vulnerabilities.
User_42751212015Module1and2pagestocompetework.pdf
User_42751212015Module1and2pagestocompetework_1.pdf
User_42751212015Module2Homework(CIS330).docx
[INSERT TITLE HERE] 1
Running head: [INSERT TITLE HERE]
[INSERT TITLE HERE]
Student Name
Allied American University
Author Note
This paper was prepared for [INSERT COURSE NAME], [INSERT COURSE ASSIGNMENT] taught by [INSERT INSTRUCTOR’S NAME].
Directions: Please complete each of the following exercises. Please read the instructions carefully.
For all “short programming assignments,” include source code files in your submission.
1. Short programming assignment. Combine the malloc2D function of program 3.16 with the adjacency matrix code of program 3.18 to write a program that allows the user to first enter the count of vertices, and then enter the graph edges. The program should then output the graph with lines of the form:
There is an edge between 0 and 3.
2. Short programming assignment. Modify your program for question 2.1 so that after the adjacency matrix is created, it is then converted to an adjacency list, and the output is generated from the list.
3. Short programming assignment. Modify program 4.7 from the text, overloading the == operator to work for this ADT using a friend function.
4. Is the ADT given in program 4.7 a first-class ADT? Explain your answer.
5. Suppose you are given the source code for a C++ class, and asked if the class shown is an ADT. On what factors would your decision be based?
6. How does using strings instead of simple types like integers alter the O-notation of operations?
User_42751212015Module1Homework(CIS330)Corrected (1).docx
[INSERT TITLE HERE] 1
Running head: [INSERT TITLE HERE]
[INSERT TITLE HERE]
Student Name
Allied American University
Author Note
This paper was prepared for [INSERT COURSE NAME], [INSERT COURSE ASSIGNMENT] taught by [INSERT INSTRUCTOR’S NAME].
Directions: Please refer to your textbook to complete the following exercises.1. Refer to page 12 of your text to respond to the following:Show the contents of the id array after each union operation when you use the quick find algorithm (Program I.I) to solve the connectivity problem for the sequence 0-2, 1-4, 2-5, 3-6, 0-4, 6-0, and 1-3. Also give the number of times the program accesses the id array for each input pair.2. Refer to page 12 of your text to respond to the following:Show the contents of the id array after each union operation when you use the quick union algorithm (Program I.I) to solve the connectivity problem for the sequence 0-2, 1-4, 2-5, 3-6, 0-4, 6-0, and 1-3. Also give the number of times the program accesses the id array for each input pair.3. Refer to figures 1.7 and 1.8 on pages 16 and 17 of the text. Give the contents of the id array after each union operation for the weighted quick union algorithm running on the examples corresponding to figures 1.7 and 1.84. For what value is N is 10N lg N>2N2 ...
AN ALGORITHM FOR OPTIMIZED SEARCHING USING NON-OVERLAPPING ITERATIVE NEIGHBOR...IJCSEA Journal
We have attempted in this paper to reduce the number of checked condition through saving frequency of the
tandem replicated words, and also using non-overlapping iterative neighbor intervals on plane sweep
algorithm. The essential idea of non-overlapping iterative neighbor search in a document lies in focusing
the search not on the full space of solutions but on a smaller subspace considering non-overlapping
intervals defined by the solutions. Subspace is defined by the range near the specified minimum keyword.
We repeatedly pick a range up and flip the unsatisfied keywords, so the relevant ranges are detected. The
proposed method tries to improve the plane sweep algorithm by efficiently calculating the minimal group of
words and enumerating intervals in a document which contain the minimum frequency keyword. It
decreases the number of comparison and creates the best state of optimized search algorithm especially in
a high volume of data. Efficiency and reliability are also increased compared to the previous modes of the
technical approach.
This ppt includes -
History
Introduction
R Basics
Download and Install R
GUI /IDE
Datatypes and Operators
Conditional Statements and Loops
Functions
Plotting
Features
Comparison with other programming languages
Merits / Advantages
Demerits / Disadvantages
Conclusion
The work shows that a program can be
syntactically represented as an oriented word tree, that is a syntactic program tree, program
words being located both in tree nodes and on tree arrows.
A Survey of String Matching AlgorithmsIJERA Editor
The concept of string matching algorithms are playing an important role of string algorithms in finding a place where one or several strings (patterns) are found in a large body of text (e.g., data streaming, a sentence, a paragraph, a book, etc.). Its application covers a wide range, including intrusion detection Systems (IDS) in computer networks, applications in bioinformatics, detecting plagiarism, information security, pattern recognition, document matching and text mining. In this paper we present a short survey for well-known and recent updated and hybrid string matching algorithms. These algorithms can be divided into two major categories, known as exact string matching and approximate string matching. The string matching classification criteria was selected to highlight important features of matching strategies, in order to identify challenges and vulnerabilities.
User_42751212015Module1and2pagestocompetework.pdf
User_42751212015Module1and2pagestocompetework_1.pdf
User_42751212015Module2Homework(CIS330).docx
[INSERT TITLE HERE] 1
Running head: [INSERT TITLE HERE]
[INSERT TITLE HERE]
Student Name
Allied American University
Author Note
This paper was prepared for [INSERT COURSE NAME], [INSERT COURSE ASSIGNMENT] taught by [INSERT INSTRUCTOR’S NAME].
Directions: Please complete each of the following exercises. Please read the instructions carefully.
For all “short programming assignments,” include source code files in your submission.
1. Short programming assignment. Combine the malloc2D function of program 3.16 with the adjacency matrix code of program 3.18 to write a program that allows the user to first enter the count of vertices, and then enter the graph edges. The program should then output the graph with lines of the form:
There is an edge between 0 and 3.
2. Short programming assignment. Modify your program for question 2.1 so that after the adjacency matrix is created, it is then converted to an adjacency list, and the output is generated from the list.
3. Short programming assignment. Modify program 4.7 from the text, overloading the == operator to work for this ADT using a friend function.
4. Is the ADT given in program 4.7 a first-class ADT? Explain your answer.
5. Suppose you are given the source code for a C++ class, and asked if the class shown is an ADT. On what factors would your decision be based?
6. How does using strings instead of simple types like integers alter the O-notation of operations?
User_42751212015Module1Homework(CIS330)Corrected (1).docx
[INSERT TITLE HERE] 1
Running head: [INSERT TITLE HERE]
[INSERT TITLE HERE]
Student Name
Allied American University
Author Note
This paper was prepared for [INSERT COURSE NAME], [INSERT COURSE ASSIGNMENT] taught by [INSERT INSTRUCTOR’S NAME].
Directions: Please refer to your textbook to complete the following exercises.1. Refer to page 12 of your text to respond to the following:Show the contents of the id array after each union operation when you use the quick find algorithm (Program I.I) to solve the connectivity problem for the sequence 0-2, 1-4, 2-5, 3-6, 0-4, 6-0, and 1-3. Also give the number of times the program accesses the id array for each input pair.2. Refer to page 12 of your text to respond to the following:Show the contents of the id array after each union operation when you use the quick union algorithm (Program I.I) to solve the connectivity problem for the sequence 0-2, 1-4, 2-5, 3-6, 0-4, 6-0, and 1-3. Also give the number of times the program accesses the id array for each input pair.3. Refer to figures 1.7 and 1.8 on pages 16 and 17 of the text. Give the contents of the id array after each union operation for the weighted quick union algorithm running on the examples corresponding to figures 1.7 and 1.84. For what value is N is 10N lg N>2N2 ...
Data communication & computer networking: Huffman algorithmDr Rajiv Srivastava
These slides cover the fundamentals of data communication & networking. it covers Huffman algorithm. it is useful for engineering students & also for the candidates who want to master data communication & computer networking.
Smart Huffman Compression is a software appliance designed to compress a file in a better way. By functioning as an JSP, it provides high level abstraction of java Servlet. For example, Smart Huffman Compression encodes the digital information using fewer bits, reduces the size of file without loss of data in a single, easy-to-manage software appliance form factor. It also provides us the decompression facility also. Smart Huffman Compression provides our organization with effective solutions to reduce the file size or lossless compression of data. It also expedites security of data using the encoding functionality. It is necessary to analyze the relationship between different methods and put them into a framework to better understand and better exploit the possibilities that compression provides us image compression, data compression, audio compression, video compression etc.
Mathematics Research Paper - Mathematics of Computer Networking - Final DraftAlexanderCominsky
This Research Paper goes into the mathematics of computer networking hardware as well as encryption methods used to ensure data can safely and securely be transmitted from one point to another across a computer network and the web.
Parallel random projection using R high performance computing for planted mot...TELKOMNIKA JOURNAL
Motif discovery in DNA sequences is one of the most important issues in bioinformatics. Thus, algorithms for dealing with the problem accurately and quickly have always been the goal of research in bioinformatics. Therefore, this study is intended to modify the random projection algorithm to be implemented on R high performance computing (i.e., the R package pbdMPI). Some steps are needed to achieve this objective, ie preprocessing data, splitting data according to number of batches, modifying and implementing random projection in the pbdMPI package, and then aggregating the results. To validate the proposed approach, some experiments have been conducted. Several benchmarking data were used in this study by sensitivity analysis on number of cores and batches. Experimental results show that computational cost can be reduced, which is that the computation cost of 6 cores is faster around 34 times compared with the standalone mode. Thus, the proposed approach can be used for motif discovery effectively and efficiently.
Here we learn Python strings methods in the hope that it will meet your educational needs.
There are a number of Python built-in methods that can be used to manipulate strings.
There is one thing to keep in mind when using string methods: they all return new values. In other words, they do not change the original string in any way.
It is imperative to note that Python strings methods return rewritten values. The original string remains unchanged.
Python Strings Tutorial explains strings in more detail.
The following is an in-depth explanation of Python Strings Methods, with examples for each method.
Capitalize() method generates a string with the first character in upper case, and the remaining characters in lower case.
The security and speed of data transmission is very important in data communications, the steps that can be done is to use the appropriate cryptographic and compression algorithms in this case is the Data Encryption Standard and Lempel-Ziv-Welch algorithms combined to get the data safe and also the results good compression so that the transmission process can run properly, safely and quickly.
The problem of electric power quality is a matter of changing the form of voltage, current or frequency that can cause failure of equipment, either utility equipment or consumer property. Components of household equipment there are many nonlinear loads, one of which Mixer. Even a load nonlinear current waveform and voltage is not sinusoidal. Due to the use of household appliances such as mixers, it will cause harmonics problems that can damage the electrical system equipment. This study analyzes the percentage value of harmonics in Mixer and reduces harmonics according to standard. Measurements made before the use of LC passive filter yield total current harmonic distortion value (THDi) is 61.48%, while after passive filter use LC the THDi percentage becomes 23.75%. The order of harmonic current in the 3rd order mixer (IHDi) is 0.4185 A not according to standard, after the use of LC passive filter to 0.088 A and it is in accordance with the desired standard, and with the use of passive filter LC, the power factor value becomes better than 0.75 to 0.98.
This paper examines the long-term simultaneous response between dividend policy and corporate value. The main problem studied is that the dividend policy is responded very slowly to the final goal of corporate value. Analysis of Data was using Vector Autoregression (VAR). The result of the discussion concludes the effect of different simultaneous response every period between dividend policy with corporate value, short-term, medium-term, and long-term. The strongest response to dividend changes comes from free cash flow whereas the highest response to corporate value comes from market book value.
Whatsapp is a social media application that is currently widely used from various circles due to ease of use and security is good enough, the security at the time of communicating at this time is very important as well with Whatsapp. Whatsapp from the network is very secure but on the local storage that contains the message was not safe enough because the message on local storage is not secured properly using a special algorithm even using the software Whatsapp Database Viewer whatsapp message can be known, to improve the security of messages on local storage whatsapp submitted security enhancements using the Modular Multiplication Block Cipher algorithm so that the message on whatsapp would be better in terms of security and not easy to read by unauthorized ones.
Consumers are increasingly easy to access to information resources. Consumers quickly interact with whatever they will spend. Ease of use of technology an impact on consumer an attitude are increasingly intelligent and has encouraged the rise of digital transactions. Technology makes it easy for them to transact on an e-commerce shopping channel. Future e-commerce trends will lead to User Generated Content related to user behavior in Indonesia that tends to compare between shopping channels. The purpose of this study was to examine the direct and indirect effects of Perceived Ease of Use on Behavioral Intention to transact in which Perceived Usefulness is used as an intervening variable. The present study used the descriptive exploratory method with causal-predictive analysis. Determination method of research sample used purposive sampling. The enumerator team assists in the distribution of questionnaires. The results of the study found that the direct effect of perceived ease of use on behavioral intention to transact is smaller than that indirectly mediated by perceived usefulness variables.
Performance is a process of assessment of the algorithm. Speed and security is the performance to be achieved in determining which algorithm is better to use. In determining the optimum route, there are two algorithms that can be used for comparison. The Genetic and Primary algorithms are two very popular algorithms for determining the optimum route on the graph. Prim can minimize circuit to avoid connected loop. Prim will determine the best route based on active vertex. This algorithm is especially useful when applied in a minimum spanning tree case. Genetics works with probability properties. Genetics cannot determine which route has the maximum value. However, genetics can determine the overall optimum route based on appropriate parameters. Each algorithm can be used for the case of the shortest path, minimum spanning tree or traveling salesman problem. The Prim algorithm is superior to the speed of Genetics. The strength of the Genetic algorithm lies in the number of generations and population generated as well as the selection, crossover and mutation processes as the resultant support. The disadvantage of the Genetic algorithm is spending to much time to get the desired result. Overall, the Prim algorithm has better performance than Genetic especially for a large number of vertices.
Implementation of Decision Support System for various purposes now can facilitate policy makers to get the best alternative from a variety of predefined criteria, one of the methods used in the implementation of Decision Support System is VIKOR (Vise Kriterijumska Optimizacija I Kompromisno Resenje), VIKOR method in this research got the best results with an efficient and easily understood process computationally, it is expected that the results of this study facilitate various parties to develop a model any solutions.
Edge detection is one of the most frequent processes in digital image processing for various purposes, one of which is detecting road damage based on crack paths that can be checked using a Canny algorithm. This paper proposed a mobile application to detect cracks in the road and with customized threshold function in the requests to produce useful and accurate edge detection. The experimental results show that the use of threshold function in a canny algorithm can detect better damage in the road
The security and confidentiality of information becomes an important factor in communication, the use of cryptography can be a powerful way of securing the information, IDEA (International Data Encryption Algorithm) and WAKE (Word Auto Key Encryption) are some modern symmetric cryptography algorithms with encryption and decryption function are much faster than the asymmetric cryptographic algorithm, with the combination experiment IDEA and WAKE it probable to produce highly secret ciphertext and it hopes to take a very long time for cryptanalyst to decrypt the information without knowing the key of the encryption process.
Employees are the backbone of corporate activities and the giving of bonuses, job titles and allowances to employees to motivate the work of employees is very necessary, salesman on the company very much and to find the best salesman cannot be done manually and for that required the implementation of a system in this decision support system by applying the TOPSIS method, it is expected with the implementation of TOPSIS method the expected results of top management can be fulfilled.
English is a language that must be known all-digital era at this time where almost all information is in English, ranging from kindergarten to college learn English. elementary school is now also there are learning and to help introduce English is prototype application recogni-tion of common words in English and can be updated dynamically so that updates occur information to new words and sentences in Eng-lish to be introduced to students.
The selection of the best employees is one of the process of evaluating how well the performance of the employees is adjusted to the standards set by the company and usually done by top management such as General Manager or Director. In general, the selection of the best employees is still perform manually with many criteria and alternatives, and this usually make it difficult top managerial making decisions as well as the selection of the best employees periodically into a long and complicated process. Therefore, it is necessary to build a decision support system that can help facilitate the decision maker in determining the best choice based on standard criteria, faster, and more objective. In this research, the computational method of decision-making system used is Technique for Order of Preference by Similarity to Ideal Solution (TOPSIS). The criteria used in the selection of the best employees are: job responsibilities, work discipline, work quality, and behaviour. The final result of the global priority value of the best employee candidates is used as the best employee selection decision making tool by top management.
Rabin Karp algorithm is a search algorithm that searches for a substring pattern in a text using hashing. It is beneficial for matching words with many patterns. One of the practical applications of Rabin Karp's algorithm is in the detection of plagiarism. Michael O. Rabin and Richard M. Karp invented the algorithm. This algorithm performs string search by using a hash function. A hash function is the values that are compared between two documents to determine the level of similarity of the document. Rabin-Karp algorithm is not very good for single pattern text search. This algorithm is perfect for multiple pattern search. The Levenshtein algorithm can be used to replace the hash calculation on the Rabin-Karp algorithm. The hash calculation on Rabin-Karp only counts the number of hashes that have the same value in both documents. Using the Levenshtein algorithm, the calculation of the hash distance in both documents will result in better accuracy.
Cybercrime is a digital crime committed to reaping profits through the Internet as a medium. Any criminal activity that occurs in the digital world or through the internet network is referred to as internet crime. Cybercrime also refers to criminal activity on computers and computer networks. This activity can be done in a certain location or even done between countries. These crimes include credit card forgery, confidence fraud, the dissemination of personal information, pornography, and so on. In ancient times there was no strong law to combat cybercrime. Since there are electronic information laws and transactions, legal jurisdiction of computer crime has been applied. Computer networks are not only installed in one particular local area but can be applied to a worldwide network. It is what makes cybercrime can occur between countries freely. This issue requires universal jurisdiction. A country has the authority to combat crimes that threaten the international community. This jurisdiction is applied without determining where the crime was committed and the citizen who committed the cybercrime. This jurisdiction is created in the absence of an international judicial body specifically to try individual crimes. Cybercrime cannot be totally eradicated. Implementing international jurisdiction at least reduces the number of cybercrimes in the world.
Competitive market competition so the company must be smart in managing finance. In promoting the selling point, marketing is the most important step to be considered. Promotional routine activity is one of the marketing techniques to increase consumer appeal to marketed products. One of the important agendas of promotion is the selection of the most appropriate promotional media. The problem that often occurs in the process of selecting a promotional media is the subjectivity of decision making. Marketing activities have a taxation fund that must be issued. Limited funds are one of the constraints of improving market strategy. So far, the selection of promotional media is performed by the company manually using standardized determination that already applies. It has many shortcomings, among others, regarding effectiveness and efficiency of time and limited funds. Markov Chain is very helpful to the company in analyzing the development of the company over a period. This method can predict the market share in the future so that company can optimize promotion cost at the certain time. Implementation of this algorithm produces a percentage of market share so that businesses can determine and choose which way is more appropriate to improve the company's market strategy. Assessment is done by looking at consumer criteria of a particular product. These criteria can determine consumer interest in a product so that it can be analyzed consumer behavior.
The transition of copper cable technology to fiber optic is very triggering the development of technology where data can be transmitted quickly and accurately. This cable change can be seen everywhere. This cable is an expensive cable. If it is not installed optimally, it will cost enormously. This excess cost can be used to other things to support performance rather than for excess cable that should be minimized. Determining how much cable use at the time of installation is difficult if done manually. Prim's algorithm can optimize by calculating the minimum spanning tree on branches used for fiber optic cable installation. This algorithm can be used to shorten the time to a destination by making all the points interconnected according to the points listed. Use of this method helps save the cost of fiber optic construction.
An image is a medium for conveying information. The information contained therein may be a particular event, experience or moment. Not infrequently many images that have similarities. However, this level of similarity is not easily detected by the human eye. Eigenface is one technique to calculate the resemblance of an object. This technique calculates based on the intensity of the colors that exist in the two images compared. The stages used are normalization, eigenface, training, and testing. Eigenface is used to calculate pixel proximity between images. This calculation yields the feature value used for comparison. The smallest value of the feature value is an image very close to the original image. Application of this method is very helpful for analysts to predict the likeness of digital images. Also, it can be used in the field of steganography, digital forensic, face recognition and so forth.
Compression is an activity performed to reduce its size into smaller than earlier. Compression is created since lack of adequate storage capacity. Data compression is also needed to speed up data transmission activity between computer networks. Compression has the different rule between speed and density. Compressed compression will take longer than compression that relies on speed. Elias Delta is one of the lossless compression techniques that can compress the characters. This compression is created based on the frequency of the character of a character on a document to be compressed. It works based on bit deductions on seven or eight bits. The most common characters will have the least number of bits, while the fewest characters will have the longest number of bits. The formation of character sets serves to eliminate double characters in the calculation of the number of each character as well as for the compression table storage. It has a good level of comparison between before and after compression. The speed of compression and decompression process possessed by this method is outstanding and fast.
Technological developments in computer networks increasingly demand security on systems built. Security also requires flexibility, efficiency, and effectiveness. The exchange of information through the internet connection is a common thing to do now. However, this way can be able to trigger data theft or cyber crime which resulted in losses for both parties. Data theft rate is getting higher by using a wireless network. The wireless system does not have any signal restrictions that can be intercepted Filtering is used to restrict incoming access through the internet. It aims to avoid intruders or people who want to steal data. This is fatal if not anticipated. IP and MAC filtering is a way to protect wireless networks from being used and misused by just anyone. This technique is very useful for securing data on the computer if it joins the public network. By registering IP and MAC on a router, this will keep the information unused and stolen. This system is only a few computers that can be connected to a wireless hotspot by IP and MAC Address listed.
Catfish is one type of freshwater fish. This fish has a good taste. In the cultivation of these fish, many obstacles need to be faced. Because living in dirty water, this type of fish is susceptible to disease. Many symptoms arise during the fish cultivation process; From skin disease to physical. Catfish farmers do not know how to diagnose diseases that exist in their livestock. This diagnosis serves to separate places between good and sick catfish. The goal is that the sale value of the fish is high. Catfish that have diseases will be sold cheaper to be used as other animal feed while healthy fish will be sold to the market or exported to other countries. Diagnosis can be done by expert system method. The algorithm of certainty factor is one of the good algorithms to determine the percentage of possible fish disease. This algorithm is very helpful for farmers to improve catfish farming.
Macroeconomics- Movie Location
This will be used as part of your Personal Professional Portfolio once graded.
Objective:
Prepare a presentation or a paper using research, basic comparative analysis, data organization and application of economic information. You will make an informed assessment of an economic climate outside of the United States to accomplish an entertainment industry objective.
Model Attribute Check Company Auto PropertyCeline George
In Odoo, the multi-company feature allows you to manage multiple companies within a single Odoo database instance. Each company can have its own configurations while still sharing common resources such as products, customers, and suppliers.
Safalta Digital marketing institute in Noida, provide complete applications that encompass a huge range of virtual advertising and marketing additives, which includes search engine optimization, virtual communication advertising, pay-per-click on marketing, content material advertising, internet analytics, and greater. These university courses are designed for students who possess a comprehensive understanding of virtual marketing strategies and attributes.Safalta Digital Marketing Institute in Noida is a first choice for young individuals or students who are looking to start their careers in the field of digital advertising. The institute gives specialized courses designed and certification.
for beginners, providing thorough training in areas such as SEO, digital communication marketing, and PPC training in Noida. After finishing the program, students receive the certifications recognised by top different universitie, setting a strong foundation for a successful career in digital marketing.
Introduction to AI for Nonprofits with Tapp NetworkTechSoup
Dive into the world of AI! Experts Jon Hill and Tareq Monaur will guide you through AI's role in enhancing nonprofit websites and basic marketing strategies, making it easy to understand and apply.
Acetabularia Information For Class 9 .docxvaibhavrinwa19
Acetabularia acetabulum is a single-celled green alga that in its vegetative state is morphologically differentiated into a basal rhizoid and an axially elongated stalk, which bears whorls of branching hairs. The single diploid nucleus resides in the rhizoid.
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdfTechSoup
In this webinar you will learn how your organization can access TechSoup's wide variety of product discount and donation programs. From hardware to software, we'll give you a tour of the tools available to help your nonprofit with productivity, collaboration, financial management, donor tracking, security, and more.
How to Make a Field invisible in Odoo 17Celine George
It is possible to hide or invisible some fields in odoo. Commonly using “invisible” attribute in the field definition to invisible the fields. This slide will show how to make a field invisible in odoo 17.
1. SSRG International Journal of Computer Science and Engineering (SSRG-IJCSE) – volume 3 Issue 8–August 2016
ISSN: 2348 – 8387 www.internationaljournalssrg.org Page 103
Huffman Text Compression Technique
Suherman1
, Andysah Putera Utama Siahaan2
Faculty of Computer Science
Universitas Pembanguan Panca Budi
Jl. Jend. Gatot Subroto Km. 4,5 Sei Sikambing, 20122, Medan, Sumatera Utara, Indonesia
Abstract— Huffman is one of the compression
algorithms. It is the most famous algorithm to
compress text. There are four phases in the Huffman
algorithm to compress text. The first is to group the
characters. The second is to build the Huffman tree.
The third is the encoding, and the last one is the
construction of coded bits. The Huffman algorithm
principle is the character that often appears on
encoding with a series of short bits and characters
that rarely appeared in bit-encoding with a longer
series. Huffman compression technique can provide
savings of 30% from the original bits. It works based
on the frequency of characters. The more the similar
character reached, the higher the compression rate
gained.
Keywords— Huffman, Compression, Algorithm,
Security
I. INTRODUCTION
A text is a collection of characters or strings into a
single unit. It contains many characters in it that
always cause problems in limited storage device and
speed of data transmission at the particular time.
Although storage can be replaced by another larger
one, this in not a good solution if there is another
solution. And this is making everyone try to think to
find a way that can be used to compress text.
Compression is the process of changing the original
data into code form to save storage and time
requirements for data transmission.A loseless
compression algorithm should emphasize the
originality of the data during compression and
decompression process[5].By using the Huffman
algorithm, text compression process is done by using
the principle of the encoding; each character is
encoded with a series of several bits to produce a more
optimal result. The purpose of writing this paper is to
investigate the effectiveness and the shortest way of
the Huffman algorithm in the compression of text and
explain the ways of compressing text using Huffman
algorithm in programming.
II. THEORIES
Data Compression is the process of shrinking data
to smaller bits than the original representation so that
it takes less storage space and less transmission time
while communicating over a network [2]. Huffman
algorithm was created by an MIT student named
David Huffman in 1952. It is one of the oldest
methods and most famous in text compression [5].
The Huffman code uses the principles similar to
Morse code. Each character is encoded only with a
few bits series, where characters that often appear with
a coded series of short bits and characters that rarely
appears is encoded with a longer set of bits. Based on
the type of map, the code is used to change the initial
message (the contents of the input data) into a set of
codeword‟s. Huffman algorithm uses static methods. A
static method is a method that always uses the same
code map but the sequence of character appearance
can be changed. This method requires two step. The
first step to calculate the frequency of occurrence of
each symbol and determine the map code, and the last
is to convert the message into a collection of code that
will be transmitted. Meanwhile, based on symbols
coding technique, Huffman uses the symbol wise
method. Symbol wise is a method that calculates the
frequncy of the characters in every
process.Tranforming text characters into symbolwise
is not an easy process [3]. The symbol is more often
occur will be given shorter code than the symbols that
rarely appears.
A. Greedy Algorithm
Greedy Algorithm solves a problem by selecting the
best distance at the particular time. Huffman problems
can be solved using a greedy algorithm as well [4]. A
greedy algorithm is an algorithm which follows the
problem-solving metaheuristic of making the optimum
choice. By calculating each step, the optimal solution
is resolved. For example, applying the greedy strategy
to the TSP to visit the nearest unvisited place.Greedy
algorithm never finds the global solution. This
algorithm is good at finding the nearest solution. Two
of the examples of greedy algorithms are Kruskal's
and Prim's algorithm.
B. The Relationship to Huffman Algorithm.
David Huffman encoded character by simply using
an ordinary binary tree, but after that, David Huffman
found that using a greedy algorithm can establish the
optimal prefix code. The use of greedy algorithm on
Huffman is at the election of two trees with the lowest
frequency in a Huffman tree. A greedy algorithm is
used to minimize the total cost. Cost is used to merge
2. SSRG International Journal of Computer Science and Engineering (SSRG-IJCSE) – volume 3 Issue 8–August 2016
ISSN: 2348 – 8387 www.internationaljournalssrg.org Page 104
two trees at the root of frequency equal to the number
two fruit trees that are combined. Therefore the total
cost of the establishment of the Huffman tree is the
total of the whole merger. Therefore, the Huffman
algorithm is one example of compression algorithm
that uses the greedy algorithm. Our goal is to calculate
the total cost incurred to establish the text.
III. IMPLEMENTATION
Thissection tries to figure out the Huffman
technique. There are four steps must be accomplished
to make the Huffman technique is fully operated.
These phases below explain the steps of its algorithm.
A. Phase One.
Assume the sentence is “LIKA-LIKU LAKI-LAKI
TAK LAKU-LAKU”. The text above is 33 length. It
must be categorized base on the character frequency.
The Character_Set function is to determine how many
times each character appears.
function Character_Set(text : string) :
string;
var
temp : string;
result : string;
begin
temp := text;
result := '';
for i := 1 to length(temp) do
for j := i + 1 to length(temp) do
if temp[i] = temp[j] then temp[j] :=
'#';
j := 1;
for i := 1 to length(temp) do
if temp[i] <> '#' then
begin
result := concat(result, temp[i]);
inc(j);
end;
Character_Set := result;
end;
The first loop which is done by “for” is to replace
the duplicate character into „#‟. The second loop
removes the original text that consists of „#‟. The
illustration is showed below.
Original Text : LIKA-LIKU LAKI-LAKI TAK
LAKU-LAKU
Replaced Text : LIKA-###U
##########T############
Character Set : LIKA-U T
procedure Character_Freq(text : string);
var
temp : string;
freq : byte;
begin
temp := Character_Set(text);
for i := 1 to length(temp) do
begin
freq := 0;
for j := 1 to length(text) do
if temp[i] = text[j] then inc(freq);
AddNode(Head, Tail, temp[i], freq);
end;
end;
The above procedure calculates the frequency of
the character occurrence. First, the character set
function must be run to obtain a series of a single
character used; then the first character until the last
character must be compared to the original text to get
the frequency. The result will be sent to the node after
getting incremented. Figure 1 illustrates the characters
and their frequency obtain from Phase One.
Fig. 1 Unsorted character and frequency
The table must be sorted in ascending order and the
primary key is the frequency.
procedure Tree_Sorting;
var
tASCII : char;
tFreq : byte;
begin
for i := length(cs) - 1 downto 1 do
begin
Current := Head;
for j := 1 to i do
begin
if Current^.Freq > Current^.Next^.Freq
then
begin
tASCII := Current^.ASCII;
tFreq := Current^.Freq;
Current^.ASCII := Current^.Next^.ASCII;
Current^.Freq := Current^.Next^.Freq;
Current^.Next^.ASCII := tASCII;
Current^.Next^.Freq := tFreq;
end;
Current := Current^.Next;
end;
end;
end;
The procedure above is to sort the unsorted list by
using bubble sort algorithm. The first node will be
compared to the next node, and the larger value will
be swapped and moved to the right. Figure 2
3. SSRG International Journal of Computer Science and Engineering (SSRG-IJCSE) – volume 3 Issue 8–August 2016
ISSN: 2348 – 8387 www.internationaljournalssrg.org Page 105
demonstrates the result after the sort.
Fig. 2 Character and frequency after sorted
B. Phase Two.
After the table is fully sorted, it is time to face the
most difficult step; that is to make the Huffman tree.
Each node must be categorized and put it on the linked
list. The Greedy algorithm takes apart at this section.
It needs to combine two nodes and make a new node
and make it as a parent of those earlier nodes. Let‟s
see the illustration below:
T - U I L A K
1 3 3 3 4 6 6 7
Draw the first two nodes, and release from the
table. Make a new node which will be their parent.
* U * I L A K
4 3 3 4 4 6 6 7
T -
1 3
The parent node will be inserted to the table in
ascending order using insertion algorithm. The first
node is now replaced by the third node before.
Moreover, It has to do the same way again until the
table consists of one node.
* * I * L A K
6 4 4 6 6 6 7
U
3 3
* * L A K *
8 6 6 6 7 8
* I
4 4
* A K * *
12 6 7 8 12
* L
6 6
* * * *
13 8 12 13
A K
6 7
* * *
20 13 20
* *
8 12
* *
33 33
* *
13 20
T - U * I L A K
1 3 3 3 4 4 6 6 7
T - U * I * L A K
1 3 3 3 4 4 6 6 6 7
T - U * I * L A K *
1 3 3 3 4 4 6 6 6 7 8
T - U * I * L A K * *
1 3 3 3 4 4 6 6 6 7 8 12
T - U * I * L A K * * *
1 3 3 3 4 4 6 6 6 7 8 12 13
T - U * I * L A K * * * *
1 3 3 3 4 4 6 6 6 7 8 12 13 20
T - U * I * L A K * * * * *
1 3 3 3 4 4 6 6 6 7 8 12 13 20 33
Finally, the array consists of 15 nodes.
In this step, there are two modelsof tree.
- Double Linked List.
- Binary Tree Linked List.
Fig. 3Double & Binary Tree Linked List
Figure 3 shows the hierarchy of the array. The *
indicates the node has a parent. Figure 4 is the
4. SSRG International Journal of Computer Science and Engineering (SSRG-IJCSE) – volume 3 Issue 8–August 2016
ISSN: 2348 – 8387 www.internationaljournalssrg.org Page 106
complete diagram of the Huffman tree.
Fig.4Huffman Tree
The aim using two models of linked list is to avoid
the searching procedures. The search can be either
breadth-first or depth-first search to form the bit code,
but it takes time and advanced programming
technique. However, a list can be used to replace the
backtracking procedure. The procedure track what the
parent is.
procedure Huffman_Tree;
var
tFreq : byte;
tASCII : char;
InsertN : NodeP;
NewNode : NodeP;
begin
tASCII := '*';
Current := Head;
while Current^.Next <> NIL do
begin
InsertN := Head;
tFreq := Current^.Freq +
Current^.Next^.Freq;
Current^.Bit := 0;
Current^.Next^.Bit := 1;
while InsertN <> NIL do
begin
if tFreq <= InsertN^.Freq then
begin
new(NewNode);
NewNode^.Freq := tFreq;
NewNode^.ASCII := tASCII;
NewNode^.Next := InsertN;
NewNode^.Prev := InsertN^.Prev;
InsertN^.Prev^.Next := NewNode;
InsertN^.Prev := NewNode;
NewNode^.Left := Current;
NewNode^.Right := Current^.Next;
Current^.Parent := NewNode;
Current^.Next^.Parent := NewNode;
break;
end
else if tFreq > Tail^.Freq then
begin
new(NewNode);
NewNode^.Freq := tFreq;
NewNode^.ASCII := tASCII;
Tail^.Next := NewNode;
NewNode^.Prev := Tail;
Tail:=NewNode;
Tail^.Next := NIL;
NewNode^.Left := Current;
NewNode^.Right := Current^.Next;
Current^.Parent := NewNode;
Current^.Next^.Parent := NewNode;
break;
end;
InsertN := InsertN^.Next;
end;
Current := Current^.Next;
Current := Current^.Next;
end;
end;
Huffman Tree procedure is used to form the
Huffman tree by processing the earlier linear tree.The
nodes must be marked “what is on the left” and “what
is on the right”. It is done by adding a sign 0 or 1 to
the node field.
type
NodeP = ^Node;
Node = record
ASCII : char;
Bit : byte;
Code : string;
Dec : byte;
freq : byte;
Prev,
Next : NodeP;
Parent,
Left,
Right : NodeP;
end;
ASCII : where character is
memorized.
Bit : node sign. (left or right)
Code : Huffman code.
Dec : decimal code.
Freq : occurence of the
character.
Next, Prev,
Parent,
Left, Right : represent the connected
nodes.
The first two nodes must be combined. The first
node will be marked as „0‟ since it is on the left and
the second node will be marked as „1‟ since it is one
the right. Moreover, both nodes have the same parent,
and the parent has two children, the nodes. After the
parent node is created, it must be inserted into the
linked list by combining the value of the node and the
value of the linked list. The node must be added to the
left of the larger or same value. However, if the parent
node is greater than every node, it has to be inserted
after the last node.
C. Phase Three.
In this step, the tree is already structured. It is time
to retrieve the node sign by making a loop until the
5. SSRG International Journal of Computer Science and Engineering (SSRG-IJCSE) – volume 3 Issue 8–August 2016
ISSN: 2348 – 8387 www.internationaljournalssrg.org Page 107
parent of the last node is empty (null).
procedure Write_Huffman;
var
result : string;
bit : string[1];
begin
Current := Head;
repeat
result := '';
Cursor := Current;
Current^.Dec := 0;
Biner := 1;
if Cursor^.ASCII <> '*' then
begin
repeat
if (Cursor^.Bit = 0) or
(Cursor^.Bit = 1) then
begin
Current^.Dec := Current^.Dec +
(Cursor^.Bit * Biner);
Biner := Biner * 2;
str(Cursor^.Bit, Bit);
insert(Bit, result, 1);
end;
Cursor := Cursor^.Parent;
until Cursor^.Parent = NIL;
end;
Current^.Code := result;
Current := Current^.Next;
until Current^.Next = NIL;
end;
The nodes which are not parents are retrieved.
Moreover, the node sign from the node will be
inserted into a single string.
D. Phase Four.
Each node has consisted of code. This phase,
everything that has been coded is converted to a
Huffman table. Table 1 shows the priority of
characters. The character “K” has the most appearance
while the character “T” has the less one.Characters
with the highest emergence is having the shortest
binary code.
TABLE IHUFFMAN TABLE
Char Freq. Code Bit Len. Code Len.
T 1 1000 4 4
- 3 1001 4 12
U 3 1100 4 12
3 1101 4 12
I 4 101 3 12
L 6 111 3 18
A 6 00 2 12
K 7 01 2 14
96
Each code represents the character. It consists of a
few digit of the binary string. The previous text will be
transformed into the new binary set. The old eight-bit
binary is replaced by the new one. Let‟s see the
example below:
Original Text : LIKA-LIKU LAKI-LAKI TAK
LAKU-LAKU
Original Code :
111 101 01 00 1001 111 101 01 1100 1101
111 00 01 101 1001 111 00 01 101 1101 1000
00 01 1101 111 00 01 1100 1001 111 00 01
1100
Bit Code :
11110101 00100111110101110011011110001101
100111100011011101100000 0111011110001110
01001111 00011100
Decimal Code :
254, 39, 215, 55, 141, 158,
55, 96, 119, 142, 79, 28
Fig. 5Running Program (Part. 1)
Fig. 6Running Program (Part. 2)
Fig. 7Running Program (Part. 3)
6. SSRG International Journal of Computer Science and Engineering (SSRG-IJCSE) – volume 3 Issue 8–August 2016
ISSN: 2348 – 8387 www.internationaljournalssrg.org Page 108
Figure 5 to Figure 7 are the Huffman running
processes. The original text before compression takes
33 characters length. Sooner after being compressed,
the string only takes 12 characters. It saved 21
characters.
The illustration:
Original Text Length : 33
Coded Text Length : 12
Saving Rate : (33 – 12) / 33 *
100 %
63.63636 %
By doing this algorithm, the compression rate
achieves 63% of the original message. Of course, it
will save the storage capacity.
IV. CONCLUSION
This research should explain the basic technique on
how to implement the compression algorithm.
Huffman algorithm can combine with the greedy
algorithm which always find the easiest ways from the
nearest node. There are four phases in the Huffman
algorithm to compress a text; the first is the phase to
manage and get the frequency of the character. The
second is the formation of the Huffman tree; the third
is to form the code from the node sign. Moreover, the
last phase is the encoding process. However, in this
paper, the author only perform the encoding method,
the decoding is under a project. Applying Huffman in
compression will again more space in the storage.
Huffman encoding is very powerful to the text
message which has similar character occurrence.
REFERENCES
[1] A. Malik, N. Goyat and V. Saroha, "Greedy Algorithm:
Huffman Algorithm," International Journal of Advanced
Research in Computer Science and Software Engineering,
vol. 3, no. 7, pp. 296-303, 2013.
[2] A. S. Sidhu and M. Garg, "Research Paper on Text Data
Compression Algorithm using Hybrid Approach," IJCSMC,
vol. 3, no. 12, pp. 1-10, 2014.
[3] H. Al-Bahadili and S. M. Hussain, "A Bit-level Text
Compression Scheme Based on the ACW Algorithm,"
International Journal of Automation and Computing, pp. 123-
131, 2010.
[4] I. Akman, H. Bayindir, S. Ozleme, Z. Akin and a. S. Misra,
"Lossless Text Compression Technique Using Syllable Based
Morphology," International Arab Journal of Information
Technology, vol. 8, no. 1, pp. 66-74, 2011.
[5] M. Schindler, "Practical Huffman coding," 1998. [Online].
Available: http://www.compressconsult.com/huffman/.