pFad - Phone/Frame/Anonymizer/Declutterfier! Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

URL: http://github.com/Gautam8387/Huffman-RL-Encoding-Compression-Algorithm/blob/main/Documentation.md

ssorigen="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/github-6e7c458caf1e80bb.css" /> Huffman-RL-Encoding-Compression-Algorithm/Documentation.md at main · Gautam8387/Huffman-RL-Encoding-Compression-Algorithm · GitHub
Skip to content

Latest commit

 

History

History
69 lines (61 loc) · 2.59 KB

File metadata and controls

69 lines (61 loc) · 2.59 KB

DOCUMENTATION FOR Gautam_Ahuja_Huffman_Code_Compression.c

Gautam Ahuja CS-1203: Data Structures Debayan Gupta

December 22, 2022

Final Project: COMPRESSION ALGORITHM (HUFFMAN CODING + RUN-LENGTH ENCODING + MIN-HEAP)

HEADER FILES USED:

  1. stdio.h
  2. stdlib.h
  3. string.h
  4. ctype.h

STRUCTURES USED:

  1. MinHeapNode
  2. MinHeap

FUNCTIONS USED:

  1. MinHeapNode* newNode(char data, unsigned freq)
  2. MinHeap* createMinHeap(unsigned capacity)
  3. void swapMinHeapNode(MinHeapNode** a, MinHeapNode** b)
  4. void minHeapify(MinHeap* minHeap, int idx)
  5. int isSizeOne(MinHeap* minHeap)
  6. MinHeapNode* extractMin(MinHeap* minHeap)
  7. void insertMinHeap(MinHeap* minHeap, MinHeapNode* minHeapNode)
  8. void buildMinHeap(MinHeap* minHeap)
  9. void printArr(int arr[], int n)
  10. int isLeaf(MinHeapNode* root)
  11. MinHeapNode* buildHuffmanTree(char data[], int freq[], int size)
  12. void printCodes(MinHeapNode* root, int arr[], int top)
  13. void HuffmanCodes(char data[], int freq[], int size)
  14. int main()

TIME COMPLEXITY:

  1. MinHeapNode* newNode(char data, unsigned freq) - O(1)
  2. MinHeap* createMinHeap(unsigned capacity) - O(1)
  3. void swapMinHeapNode(MinHeapNode** a, MinHeapNode** b) - O(1)
  4. void minHeapify(MinHeap* minHeap, int idx) - O(log n)
  5. int isSizeOne(MinHeap* minHeap) - O(1)
  6. MinHeapNode* extractMin(MinHeap* minHeap) - O(log n)
  7. void insertMinHeap(MinHeap* minHeap, MinHeapNode* minHeapNode) - O(log n)
  8. void buildMinHeap(MinHeap* minHeap) - O(n)
  9. void printArr(int arr[], int n) - O(n)
  10. int isLeaf(MinHeapNode* root) - O(1)
  11. MinHeapNode* buildHuffmanTree(char data[], int freq[], int size) - O(n log n)
  12. void printCodes(MinHeapNode* root, int arr[], int top) - O(n)
  13. void HuffmanCodes(char data[], int freq[], int size) - O(n log n)
  14. int main() - O(n log n)

For complete Program: O(n log n)

SPACE COMPLEXITY:

  1. MinHeapNode* newNode(char data, unsigned freq) - O(1)
  2. MinHeap* createMinHeap(unsigned capacity) - O(1)
  3. void swapMinHeapNode(MinHeapNode** a, MinHeapNode** b) - O(1)
  4. void minHeapify(MinHeap* minHeap, int idx) - O(1)
  5. int isSizeOne(MinHeap* minHeap) - O(1)
  6. MinHeapNode* extractMin(MinHeap* minHeap) - O(1)
  7. void insertMinHeap(MinHeap* minHeap, MinHeapNode* minHeapNode) - O(1)
  8. void buildMinHeap(MinHeap* minHeap) - O(1)
  9. void printArr(int arr[], int n) - O(1)
  10. int isLeaf(MinHeapNode* root) - O(1)
  11. MinHeapNode* buildHuffmanTree(char data[], int freq[], int size) - O(n)
  12. void printCodes(MinHeapNode* root, int arr[], int top) - O(n)
  13. void HuffmanCodes(char data[], int freq[], int size) - O(n)
  14. int main() - O(n)

For complete Program: O(n)

pFad - Phonifier reborn

Pfad - The Proxy pFad © 2024 Your Company Name. All rights reserved.





Check this box to remove all script contents from the fetched content.



Check this box to remove all images from the fetched content.


Check this box to remove all CSS styles from the fetched content.


Check this box to keep images inefficiently compressed and original size.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy