أفضل طريقة لتنفيذ برنامج Radix Sort في C؟



ستقدم لك هذه المقالة برنامج Radix Sort Program In C ومتابعته عرضًا برمجيًا لفهم أفضل.

ستقدم لك هذه المقالة Radix Sort وتخبرك بكيفية تنفيذ Radix Sort في C. سيتم تناول المؤشرات التالية في هذه المقالة ،

فلنبدأ إذن ،





بكلمات بسيطة ، الفرز يعني ترتيب العناصر المعطاة بترتيب منهجي. يتم الفرز في معظم الخوارزميات لأنه يجعل البحث أسهل مما يجعل الخوارزمية في النهاية فعالة. في هذه المدونة ، سوف نفهم أحد خوارزميات التلاعب الشائعة الاستخدام ، مثل فرز Radix

فرز الجذر هو خوارزمية فرز عدد صحيح غير مقارن. إنه يقوم بفرز الأرقام بالأرقام بدءًا من الرقم الأقل أهمية (أي الرقم الموجود على اليمين) إلى الرقم الأكثر أهمية (أي الرقم الموجود على اليسار). يستخدم فرز Radix الفرز كإجراء فرعي للفرز.
الحد الأدنى لخوارزمية الفرز القائمة على المقارنة (مثل فرز الكومة ، الفرز السريع ، فرز الدمج) هو & أوميغا (nLogn) ، ولا يمكن تحسينها بعد nLogn. إذا تحدثنا عن فرز الفرز ، فهو عبارة عن خوارزمية لفرز الوقت الخطي مع تعقيد زمني O (n + k) ، حيث يقع النطاق بين 1 إلى k. الآن ، مشكلة عد الفرز هي أنه يأخذ O (n2) عندما تتراوح العناصر من 1 إلى n2.



لذلك ، لفرز مصفوفة تحتوي على عناصر تتراوح من 1 إلى n2 في الوقت الخطي ، نحتاج إلى فرز الجذر. فرز Radix يفرز رقم الصفيف بالرقم بدءًا من الرقم الأقل أهمية إلى الرقم الأكثر أهمية. يستخدم فرز Radix الفرز كإجراء فرعي للفرز.

الانتقال إلى هذه المقالة حول برنامج Radix Sort Program In C ،

خوارزمية فرز الجذر

نفذ الخطوات التالية لجميع الأرقام بدءًا من الرقم الأقل أهمية الموجود في اليمين ، وانتقل نحو الرقم الأكثر أهمية الموجود في اليسار.



فرز العناصر باستخدام فرز الفرز وفقًا للرقم الحالي.
مثال:

الصفيف الأصلي:
140 ، 65 ، 85 ، 110 ، 612 ، 54 ، 12 ، 86

يعطي فرز الرقم الأقل أهمية ، أي مكان واحد

140 ، 110 ، 612 ، 12 ، 54 ، 65 ، 85 ، 86

ملاحظة: كما يظهر الرقم 612 قبل الرقم 12 ، ويتم الفرز لرقم واحد فقط ، وبالتالي يظهر الرقم 612 قبل الرقم 12 بعد هذا التكرار.

الفرز حسب الرقم التالي ، أي في خانة العشرات ، يعطي:

110 ، 612 ، 12 ، 140 ، 54 ، 65 ، 85 ، 86

يعطي الفرز حسب الرقم الأكثر أهمية ، أي الموجود في خانة المائة:

012 ، 054 ، 065 ، 085 ، 086 ، 110 ، 140 ، 612

الانتقال إلى هذه المقالة حول برنامج Radix Sort Program In C ،

برنامج فرز الجذر في ج

أول نظرة على وظيفة فرز Radix

وظيفة فرز الجذر:

void radixsort (int array []، int n) {// احصل على أكبر عدد لمعرفة الحد الأقصى لعدد الأرقام int m = getMax (array، n) int dig // يتم إجراء فرز الفرز لكل رقم لـ (dig = 1 م / حفر> 0 حفر * = 10) عدد فرز (مجموعة ، ن ، حفر)}

الانتقال إلى هذه المقالة حول برنامج Radix Sort Program In C ،

وظيفة فرز العد:

فرز باطل (مصفوفة int []، int n، int dig) {int output [n] int i، count [10] = {0} // تخزين عدد التكرارات في العد [] لـ (i = 0 i= 0 i--) {output [count [(array [i] / dig)٪ 10] - 1] = array [i] count [(array [i] / dig)٪ 10] -} // انسخ مصفوفة الإخراج إلى arr [] ، بحيث تحتوي arr [] now // على أرقام مرتبة وفقًا للرقم الحالي لـ (i = 0 i

للمضي قدمًا ، دعنا نكتب برنامج C لتنفيذ ترتيب Radix.

مثال:

#include // دالة لإيجاد أكبر عدد int getMax (int المصفوفة []، int n) {int max = array [0] int i for (i = 1 i max) max = array [i] return max} // دالة لفرز العد الفرز الفرز (مصفوفة int [] ، int n ، int dig) {int output [n] int i، count [10] = {0} // تخزين عدد التكرارات في العد [] لـ (i = 0 أنا= 0 i--) {output [count [(array [i] / dig)٪ 10] - 1] = array [i] count [(array [i] / dig)٪ 10] -} // انسخ مصفوفة الإخراج إلى arr [] ، بحيث تحتوي arr [] now // على أرقام مرتبة وفقًا للرقم الحالي لـ (i = 0 i 0 dig * = 10) countSort (array، n، dig)} // وظيفة طباعة صفيف باطل print (int arr []، int n) {int i for (i = 0 i

انتاج |

إخراج- برنامج فرز جذري في C- Edureka

المحور و unpivot في SQL

الآن بعد تنفيذ البرنامج أعلاه ، كنت ستفهم برنامج Radix Sort Program في C. وهكذا وصلنا إلى نهاية هذه المقالة حول 'Quicksort in Java'. إذا كنت ترغب في معرفة المزيد ، تحقق من ، شركة تعليمية موثوقة عبر الإنترنت. تم تصميم دورة تدريب وإصدار شهادات Java J2EE و SOA من Edureka لتدريبك على مفاهيم Java الأساسية والمتقدمة جنبًا إلى جنب مع العديد من أطر Java مثل Hibernate & Spring.

لديك سؤال لنا؟ يرجى ذكر ذلك في قسم التعليقات في هذه المدونة وسنعاود الاتصال بك في أقرب وقت ممكن.