تصميم خوارزمية
الخوارزمية هو مصطلح يشير إلى مجموعة محدودة ومعينة من الخطوات، حيث أن كل واحدة من هذه الخطوات قد تتطلب في حد ذاتها واحد أو أكثر من العمليات الحسابية والمنطقية ، وإذا ما تم إتمام وتنفيذ هذه الخطوات بشكل صحيح فإنه سوف نحصل على نتيجة أو على مجموعة من النواتج بعد فترة محدودة ومعينة من الوقت اللازم لتنفيذ ذلك .
وهناك مجموعة وعناصر من القيود والممانعات على نوع العمليات التي يمكن أن تتضمن وتحيط الخوارزمية وهي التالي:
تعقيد الوقت
يلخص الجدول التالي بعض فئات التعقيدات الزمنية الشائعة. في الجدول ، poly ( "x" )  = "x " ، أي كثيرات الحدود في "x" . '""
ويقال أن الخوارزمية هي وقت ثابت (مكتوب أيضًا باسم O (1) ) إذا كانت قيمة "T" ( "n" ) محددة بقيمة لا تعتمد على حجم المدخلات. على سبيل المثال ، يستغرق الوصول إلى أي عنصر مفرد في صفيف وقتًا ثابتًا حيث يجب إجراء عملية واحدة فقط لتحديد موقعه. بطريقة مشابهة ، يتم العثور على القيمة الأدنى في مصفوفة مرتبة بترتيب تصاعدي ؛ هذا هو العنصر الأول. ومع ذلك ، فإن العثور على الحد الأدنى من القيمة في صفيف غير مرتبة ليس عملية زمنية ثابتة حيث يلزم إجراء مسح ضوئي فوق كل عنصر في الصفيف من أجل تحديد القيمة الأدنى.ومن ثم فهي عملية زمنية خطية تأخذ زمن O (n). إذا كان عدد العناصر معروفًا مسبقًا ولا يتغير ، فإن مثل هذه الخوارزمية يمكن أن يقال إنها تعمل في وقت ثابت.