في علم الكمبيوتر ، خوارزمية التحديد هي خوارزمية للعثور على أصغر عدد kth في قائمة أو صفيف ؛ يسمى هذا الرقم إحصاء ترتيب kth. ويشمل ذلك حالات العثور على الحد الأدنى والحد الأقصى والعناصر المتوسطة. توجد خوارزميات اختيار O (n) (الأسوأ لحالة زمنية خطية) ، والأداء تحت الخطي ممكن للبيانات المهيكلة ؛ في أقصى ، O (1) لصفيف من البيانات التي تم فرزها. التحديد هو مشكلة ثانوية لمشاكل أكثر تعقيدًا مثل مشاكل الجوار الأقرب وأقصر الطرق. يتم اشتقاق العديد من خوارزميات التحديد عن طريق تعميم خوارزمية الفرز ، وبالعكس يمكن اشتقاق بعض خوارزميات الفرز كتطبيق متكرر للاختيار. إن أبسط حالة لخوارزمية التحديد هي إيجاد الحد الأدنى (أو الحد الأقصى) عن طريق التكرار من خلال القائمة ، وتتبع الحد الأدنى من التشغيل - الحد الأدنى حتى الآن - (أو الحد الأقصى) ويمكن أن ينظر إليه على أنه مرتبط بفرز الاختيار. على العكس من ذلك ، فإن أصعب حالة لخوارزمية التحديد هي العثور على الوسيط ، وهذا يأخذ بالضرورة تخزين n / 2. في الواقع ، يمكن استخدام خوارزمية اختيار وسيط متخصص لبناء خوارزمية اختيار عامة ، كما هو الحال في الوسيط للوسيط. خوارزمية التحديد الأكثر شهرة هي Quickselect ، والتي ترتبط بـ quicksort؛ مثل Quicksort ، لديه (بشكل تقريبي) متوسط الأداء الأمثل ، ولكن أداء أسوأ حالة أسوأ ، على الرغم من أنه يمكن تعديله لإعطاء أفضل أداء لحالة أسوأ كذلك. [علوم الكمبيوتر] |