الخوارزمية هي عبارة عن منهج فعال effective method يهدف لأداء مهمة أو حل مشكلة ما يعبر عنه بمجموعة محددة من التعليمات المتسلسلة لمعالجة حاسوبية، تهدف إلى الحصول على نتائج محددة اعتباراَ من معطيات ابتدائية». وسميت الخوارزمية بهذا الاسم نسبة إلى العالم المسلم الطاشقندي الأصل أبو جعفر محمد بن موسى الخوارزمي الذي كتب رسالة مهمة عن المنهج الجبري القرن التاسع الميلادي.[1] وأصله كما يدل اسمه من خوارزم، وقد عاش في بغداد من سنة 780م إلى 847م في عهد الخليفة المأمون. وقد برع هذا العالم في الرياضيات والفلك، وترك بصمات في التراث الحضاري العالمي، فقد وضع الخوارزمي مبادئ علم الجبر وألف كتاب «الجبر والمقابلة»، وهو أول من سمّى علم الجبر بهذا الاسم، ثم انتشر هذا العلم وانتقل اسمه إلى جميع اللغات تقريباَ. ألف الخوارزمي كتاباً في الحساب، ترجم إلى اللاتينية بعد ثلاثة قرون تحت عنوان Algoritmi de nemero indriun، ثم أطلق على جداول الضرب والقسمة والحساب العشري اسم Algorisms. ظلت هذه الكلمة متداولة في أوربا حتى أصبحت مصطلحاَ يحمل مدلولاً جديداً مرتبطاً بالبرمجة Algorithm. تستخدم ألفاظ أخرى للدلالة على بعض الخوارزميات المعينة كألفاظ الإجرائية procedure والمنهج method والتقنية technique. تسمى عملية تطبيق دخل على الخوارزمية لاستخراج خرج، بعملية التحسيب.
فعندما يُطلب من خبير في البرمجة أن يصنع برنامجاً، سواء لحل مسألة رياضية أو لاختراع لعبة أو لبناء برنامج تطبيقي يخدم أغراضاً محددة، فإن أول ما يفكر به المتخصص، بعد فهم المسألة ودراستها دراسة كافية، هو وضع استراتيجية للحل بطريقة تمكّن، فيما بعد، من ترجمة هذه الاستراتيجية إلى لغة يفهمها الحاسوب. تسمى هذه الاستراتيجية في أوساط المختصين بالبرمجة باسم «الخوارزمية».
تستخدم الخوارزميات في عمليات الحساب ومعالجة المعطيات والعديد من الحقول الأخرى. (في بعض الخيارات المتقدمة قد لا تكون التعليمات متسلسلة ولا حتى أن تكون منتهية، انظر خوارزمية غير حتمية nondeterministic algorithm).
كل خوارزمية هي عبارة عن قائمة بتعليمات معرفة ومحددة لأداء مهمة ما. تصف التعليمات عملية تحسيب يتم إجراؤها ليتم الانتقال من حالة ابتدائية إلى حالات متتابعة ومنتهية بحالة نهائية. وليس من الضروري أن يكون الانتقال من حالة إلى التي تليها حتمياً، فبعض الخوارزميات مثل الخوارزميات العشوائية randomized algorithms تتضمن نوعاً من العشوائية.
بدأ التشكل الجزئي للمفهوم مع محاولات حل "مشكلة القرار" Entscheidungsproblem التي طرحت من قبل ديفيد هيلبرت David Hilbert في عام 1928، ثم تطورت تشكلات لاحقة مع محاولات تعريف قابلية الحساب الفعال effective calculability[2]، أو المنهج الفعال [3]effective method، ومنها كانت التوابع العودية (التراجعية) لكل من Gödel (1930) وHerbrand (1934) وKleene (1935)، وتحليل لمبدا الذي طرحه Alonzo Church عام 1936، و"التشكيل 1" "Formulation 1" الذي طرحه Emil Post عام 1936، وآلة تورنگ التي طرحها آلان تورنگ في أواخر ثلاثينيات القرن العشرين.
عندما توصف خوارزمية ما بأنها "مستمرة" فإما أن يعني هذا أنها تنفذ على معطيات تمثل كميات مستمرة رغم أن هذه المعطيات تمثل بتقريب متقطع (تدرس مثل هذه الخوارميات في التحليل العددي) أو أنها خوارزمية في صيغة معادلة تفاضلية والتي تنفذ بشكل مستمر على المعطيات، وعلى حاسوب تماثلي[4].