TeX
Data Structures 2
डेटा संरचनाएँ II के लिए अकादमिक परियोजना। C में पाँच सॉर्टिंग एल्गोरिदम को विभिन्न इनपुट आकारों पर बेंचमार्क करती है, फिर Python/matplotlib के माध्यम से प्रदर्शन चार्ट उत्पन्न करती है।
डेटा स्ट्रक्चर्स II के लिए अकादमिक प्रोजेक्ट। C में पाँच सॉर्टिंग एल्गोरिदम को विभिन्न इनपुट साइज़ पर बेंचमार्क करता है, फिर पाइथन/मैटप्लॉटलिब के माध्यम से प्रदर्शन चार्ट बनाता है।

एल्गोरिदम
| एल्गोरिदम | औसत मामला | सबसे खराब मामला |
|---|---|---|
| बबल सॉर्ट | O(n²) | O(n²) |
| सिलेक्शन सॉर्ट | O(n²) | O(n²) |
| इन्सर्शन सॉर्ट | O(n²) | O(n²) |
| क्विक सॉर्ट | O(n log n) | O(n²) |
| हीप सॉर्ट | O(n log n) | O(n log n) |
यह कैसे काम करता है
- C प्रोग्राम (
main.c+sorting.c)[100, 1000, 5000, 10000, 50000,आकारों पर यादृच्छिक पूर्णांक ऐरे उत्पन्न करता है, 100000], प्रत्येक एल्गोरिदम को एक कॉपी पर चलाता है, और./executions/` के अंतर्गत बाइनरी फ़ाइलों में प्रति-रन मेट्रिक्स (स्वैप्स, कंपैरिज़न्स, एलेप्स्ट टाइम) लिखता है। - पाइथन स्क्रिप्ट (
main.py) C प्रोग्राम को संकलित और चलाती है, बाइनरी डेटा को पढ़ती है, और प्रदर्शन चार्ट को./graficos/में सहेजती है।
आवश्यकताओं
- GCC
- पाइथन 3
- मैटप्लॉटलिब (
pip install matplotlib)
उपयोग
# बेंचमार्क चलाएँ + चार्ट जेनरेट करें
python main.py
या केवल C बेंचमार्क चलाएँ:
make
./Trabalho_Pratico_II
आउटपुट
चार्ट ./graficos/ में सहेजे गए हैं:
relatorio_completo.png— एक ही आरेख में स्वैप, तुलना और समयtrocas_comparacao.png— प्रति एल्गोरिदम स्वैपcomparacoes_comparacao.png— प्रति एल्गोरिदम तुलनाएँtempo_comparacao.png— प्रति एल्गोरिदम निष्पादन समय
प्रोजेक्ट संरचना
├── main.c # बेंचमार्क ड्राइवर
├── sorting.c # एल्गोरिदम कार्यान्वयन
├── sorting.h # फ़ंक्शन घोषणाएँ
├── main.py # डेटा रीडर + चार्ट जनरेटर
├── makefile
├── requirements.txt
└── executions/ # बाइनरी परिणाम फ़ाइलें (रनटाइम पर उत्पन्न)
