خوارزمية
الخوارزمية هي مجموعة من الخطوات الرياضية والمنطقية والمتسلسلة اللازمة لحل مشكلة ما. وسميت الخوارزمية بهذا الاسم نسبة إلى العالم أبو جعفر محمد بن موسى الخوارزمي الذي ابتكرها في القرن التاسع الميلادي. الكلمة المنتشرة في اللغات اللاتينية والأوروبية هي «algorithme» وفي الأصل كان معناها يقتصر على خوارزمية لتراكيب ثلاثة فقط وهي: التسلسل والاختيار والتكرار.و قد أثُبت أنه لاحاجة إلى تراكيب إضافية. استخدام هذه التراكيب الثلاث يسهل فهم الخوارزمية واكتشاف الأخطاء الواردة فيها وتغييرها.
جدول هاش
كل الخوارزميات في الأعلى سريعة وفعالة حيث ان كل منها يقوم بعدد قليل من العمليات (O(1
الصعوبة في جداول العنونة المباشرة هي كبر المجموعة U حيث ان القيام بحفظ مصفوفة بحجم |U| غير واقعي وغير تطبيقي ومن ناحية أخرى قد تكون المجموعة K صغيرة كثيرا بالنسبة ل-U وعندها أغلب الأماكن في U ستكون حتما غير نافعة.
عندما تكون المجموعة K (القاموس) صغيرة جدا بالنسبة ل-U جدول هاش سيتطلب مكان اقل من جداول عنونة مباشرة اي سيتطلب جدول هاش (|O(|K بالرغم من أن بحث قيمة معينة في الجدول سيكون أيضا (O(1 المشكلة الوحيدة هو ان البحث في جدول الهاش هو متوقع بينما في العنونة المباشرة البحث هو (O(1 دائما
بالعنونة المباشرة حفظنا المفتاح k في الخلية k اما في الهاش فهذا المفتاح سوف يحفظ في (h(k اي اننا سوف نستخدم دالة هاش (hash function) لحساب الخلية التي سنحفظ فيها المفتاح k،