यह लेख PHP में लिखे एल्गोरिदम को छाँटने के मानदंड पर केंद्रित होगा।
कुल 14 एल्गोरिदम प्रस्तुत किए गए हैं:
- quicksort
- countingSort
- combSort
- heapSort
- mergeSort
- shellSort
- selectionSort
- insertSort
- gnomeSort
- combinedBubbleSort
- cocktailSort
- bubbleSort
- oddEvenSort
- bubbleSortWithFlag
एल्गोरिदम के बारे में अधिकQuickSort - त्वरित सॉर्ट * |
काउंटशॉर्ट - गिनती के आधार पर क्रमबद्ध करें * |
combSort - कंघी क्रमबद्ध करें * |
हीपसॉर्ट - हीप क्रमबद्ध करें * |
mergeSort - मर्ज सॉर्ट * |
ShellSort - शैल सॉर्ट * |
चयन - चयन द्वारा क्रमबद्ध करें * |
सम्मिलित करें - आवेषण द्वारा क्रमबद्ध करें * |
gnomeSort - बौने सॉर्ट * |
संयुक्त बबलसॉर्ट - संशोधित बबल सॉर्ट |
कॉकटेलसॉर्ट - शेकर सॉर्ट * |
बबलोर्ट - बबल सॉर्ट * |
oddEvenSort - सम-विषम सॉर्ट |
बबलसोर्टविथफ्लैग - बबल क्रमबद्ध झंडे के साथ |
एल्गोरिदम को वर्णानुक्रम में व्यवस्थित नहीं किया गया है, लेकिन 8 हजार तत्वों की एक सरणी को सॉर्ट करते समय उनकी गति को कम करने के क्रम में।
छँटाई में प्रयुक्त सरणियों के प्रस्तुत आयाम:
- 1
- 100
- 200
- 400
- 600
- 800
- 1000
- 5000
- 10000
- 15000
- 20000
- 25000
- 30000
इसके अलावा, प्रत्येक माप सरणी के एक अलग भरने के साथ किया गया था, छँटाई समारोह में पारित:
- पहले मामले में, सरणी अंतराल (1, एन) से यादृच्छिक मूल्यों से भर गई थी, जहां एन सरणी का आयाम है।
- दूसरे मामले में, सरणी अंतराल (1, PHP_INT_MAX) से यादृच्छिक मूल्यों से भरी हुई थी, जहां PHP_INT_MAX वर्तमान प्रणाली में INT के प्रकार के एक चर का अधिकतम मूल्य है। मेरे सिस्टम पर, यह मान 2 63 है , अर्थात लगभग 9.2233720368548E + 18
प्रत्येक माप तीन बार और अंकगणितीय माध्य लिया गया था।
एक हजार तत्वों तक पहुंच जाता है
सभी श्रेणीकरण कार्य इस श्रेणी में शामिल हैं।


आकार में 30 हजार तत्वों तक पहुंचता है
इस बार, 5 सबसे तेज़ एल्गोरिदम शामिल हैं: छँटाई गिनती, त्वरित छँटाई, कंघी छँटाई, ढेर छँटाई और मर्ज छँटाई।


आकार में 200 हजार तत्वों तक पहुंचता है
इस बार, सभी समान 5 एल्गोरिदम शामिल हैं: गिनती छँटाई, त्वरित छँटाई, कंघी छँटाई, ढेर छँटाई और विलय छँटाई।


2,000,000 तत्वों तक पहुंचता है
दो एल्गोरिदम ने 2 मिलियन तत्वों के लिए अंतिम दौड़ में भाग लिया: छंटाई और त्वरित छंटनी।


निष्कर्ष
क्विकॉर्ट को काफी अच्छा एल्गोरिदम माना जाता है।
काउंटिंगसॉर्ट छोटी रेंज के मूल्यों पर बहुत अच्छा है, अन्यथा यह स्मृति की कमी के कारण सामना नहीं कर सकता है। यादृच्छिक मूल्यों के लिए
शकर छांटना एक बुरा विकल्प है।
"बबल" और इसके संशोधन व्यावहारिक उपयोग के लिए लागू नहीं हैं।
सभी एल्गोरिदम के स्रोत कोड + मेरे परिणाम:
drive.google.com/file/d/0B5FrhsQAeZwCUmx0dzFjeVdra0E/edit?usp=sharing