انتقل إلى المحتوى

مصفوفة ارتباطية

من ويكيبيديا، الموسوعة الحرة

المصفوفة الارتباطية (بالإنجليزية: Associative array)‏ أو الخريطة الربطية (بالإنجليزية: Connective map)‏ أو جدول الرموز (بالإنجليزية: Symbol table)‏ أو القاموس (بالإنجليزية: Dictionary)‏ في علوم الحاسوب هو نوع بيانات مجردة يتكون من مجموعة من أزواج (المفتاح، القيمة)، بحيث يظهر كل مفتاح محتمل مرة واحدة على الأكثر في المجموعة.

العمليات المرتبطة بنوع البيانات هذا تسمح بـ:[1][2]

  • إضافة زوج إلى المجموعة
  • إزالة زوج من المجموعة
  • تعديل زوج موجود
  • البحث عن قيمة مرتبطة بمفتاح معين

يمثل تطبيق المصفوفات الترابطية مشكلة القاموس، وهي مشكلة كلاسيكية في علوم الحالسوب: مهمة في تصميم بنية بيانات تحافظ على مجموعة من البيانات أثناء عمليات «البحث» و «الحذف» و «الإدراج».[3] الحلان الرئيسيان لمشكلة القاموس هما جدول التجزئة (بالإنجليزية: Hash table)‏ أو شجرة البحث (بالإنجليزية: search tree)‏.[1][2][4][5] في بعض الحالات، من الممكن أيضًا حل المشكلة باستخدام المصفوفات التي يتم الوصول عنوانها البرمجي بشكل مباشر أو أشجار البحث الثنائية أو غيرها من الهياكل الأكثر تخصصًا.

تتضمن العديد من لغات البرمجة مصفوفات ترابطية كأنواع البيانات الأولية، وهي متوفرة في مكتبات البرمجيات في العديد من اللغات الأخرى. تعد الذاكرة التي تعالج المحتوى شكلاً من أشكال الدعم المباشر على مستوى الأجهزة والعتاد الصلب للمصفوفات الترابطية.

تحتوي المصفوفات الارتباطية على العديد من التطبيقات بما في ذلك أنماط البرمجة الأساسية مثل المذكرات ونمط الديكور.[6]

الاسم ليس من العملية التجميعية المعروفة في الرياضيات. بل من حقيقة أننا نربط القيم بالمفاتيح.

انظر أيضًا

[عدل]

المراجع

[عدل]
  1. ^ ا ب Goodrich، Michael T.؛ Tamassia، Roberto (2006)، "9.1 The Map Abstract Data Type"، Data Structures & Algorithms in Java (ط. 4th)، Wiley، ص. 368–371
  2. ^ ا ب Mehlhorn، Kurt؛ Sanders، Peter (2008)، "4 Hash Tables and Associative Arrays"، Algorithms and Data Structures: The Basic Toolbox (PDF)، Springer، ص. 81–98، مؤرشف من الأصل (PDF) في 2020-06-21
  3. ^ Andersson، Arne (1989). "Optimal Bounds on the Dictionary Problem". Springer Verlag: 106–114.
  4. ^ Cormen، Thomas H.؛ Leiserson، Charles E.؛ Rivest، Ronald L.؛ Stein، Clifford (2001)، "11 Hash Tables"، مقدمة في الخوارزميات (كتاب) (ط. 2nd)، ميت بريس and ماكجرو هيل التعليم، ص. 221–252، ISBN:0-262-03293-7.
  5. ^ Dietzfelbinger, M., Karlin, A., Mehlhorn, K., Meyer auf der Heide, F., Rohnert, H., and Tarjan, R. E. 1994. "Dynamic Perfect Hashing: Upper and Lower Bounds" نسخة محفوظة 2016-03-04 على موقع واي باك مشين.. SIAM J. Comput. 23, 4 (Aug. 1994), 738-761. http://portal.acm.org/citation.cfm?id=182370 دُوِي:10.1137/S0097539791194094 [وصلة مكسورة]
  6. ^ Goodrich & Tamassia (2006), pp. 597–599.

روابط خارجية

[عدل]