Skip to content

Commit a660bee

Browse files
committed
Final Project - Data Structures
1 parent f3266f3 commit a660bee

File tree

4 files changed

+658
-1
lines changed

4 files changed

+658
-1
lines changed

Documentation.txt

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
Gautam Ahuja
2+
CS-1203: Data Structures
3+
Debayan Gupta
4+
5+
December 22, 2022
6+
7+
Final Project Idea: COMPRESSION ALGORITHM (HUFFMAN CODING + RUN-LENGTH ENCODING + MIN-HEAP)
8+
9+
DOCUMENTATION FOR Gautam_Ahuja_Huffman_Code_Compression.c
10+
11+
HEADER FILES USED:
12+
1. stdio.h
13+
2. stdlib.h
14+
3. string.h
15+
4. ctype.h
16+
17+
STRUCTURES USED:
18+
1. MinHeapNode
19+
2. MinHeap
20+
21+
FUNCTIONS USED:
22+
1. MinHeapNode* newNode(char data, unsigned freq)
23+
2. MinHeap* createMinHeap(unsigned capacity)
24+
3. void swapMinHeapNode(MinHeapNode** a, MinHeapNode** b)
25+
4. void minHeapify(MinHeap* minHeap, int idx)
26+
5. int isSizeOne(MinHeap* minHeap)
27+
6. MinHeapNode* extractMin(MinHeap* minHeap)
28+
7. void insertMinHeap(MinHeap* minHeap, MinHeapNode* minHeapNode)
29+
8. void buildMinHeap(MinHeap* minHeap)
30+
9. void printArr(int arr[], int n)
31+
10. int isLeaf(MinHeapNode* root)
32+
11. MinHeapNode* buildHuffmanTree(char data[], int freq[], int size)
33+
12. void printCodes(MinHeapNode* root, int arr[], int top)
34+
13. void HuffmanCodes(char data[], int freq[], int size)
35+
14. int main()
36+
37+
TIME COMPLEXITY:
38+
1. MinHeapNode* newNode(char data, unsigned freq) - O(1)
39+
2. MinHeap* createMinHeap(unsigned capacity) - O(1)
40+
3. void swapMinHeapNode(MinHeapNode** a, MinHeapNode** b) - O(1)
41+
4. void minHeapify(MinHeap* minHeap, int idx) - O(log n)
42+
5. int isSizeOne(MinHeap* minHeap) - O(1)
43+
6. MinHeapNode* extractMin(MinHeap* minHeap) - O(log n)
44+
7. void insertMinHeap(MinHeap* minHeap, MinHeapNode* minHeapNode) - O(log n)
45+
8. void buildMinHeap(MinHeap* minHeap) - O(n)
46+
9. void printArr(int arr[], int n) - O(n)
47+
10. int isLeaf(MinHeapNode* root) - O(1)
48+
11. MinHeapNode* buildHuffmanTree(char data[], int freq[], int size) - O(n log n)
49+
12. void printCodes(MinHeapNode* root, int arr[], int top) - O(n)
50+
13. void HuffmanCodes(char data[], int freq[], int size) - O(n log n)
51+
14. int main() - O(n log n)
52+
For complete Program: O(n log n)
53+
54+
SPACE COMPLEXITY:
55+
1. MinHeapNode* newNode(char data, unsigned freq) - O(1)
56+
2. MinHeap* createMinHeap(unsigned capacity) - O(1)
57+
3. void swapMinHeapNode(MinHeapNode** a, MinHeapNode** b) - O(1)
58+
4. void minHeapify(MinHeap* minHeap, int idx) - O(1)
59+
5. int isSizeOne(MinHeap* minHeap) - O(1)
60+
6. MinHeapNode* extractMin(MinHeap* minHeap) - O(1)
61+
7. void insertMinHeap(MinHeap* minHeap, MinHeapNode* minHeapNode) - O(1)
62+
8. void buildMinHeap(MinHeap* minHeap) - O(1)
63+
9. void printArr(int arr[], int n) - O(1)
64+
10. int isLeaf(MinHeapNode* root) - O(1)
65+
11. MinHeapNode* buildHuffmanTree(char data[], int freq[], int size) - O(n)
66+
12. void printCodes(MinHeapNode* root, int arr[], int top) - O(n)
67+
13. void HuffmanCodes(char data[], int freq[], int size) - O(n)
68+
14. int main() - O(n)
69+
For complete Program: O(n)

0 commit comments

Comments
 (0)