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

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

AssociativeArray.tif

العمليات المرتبطة بنوع البيانات هذا تسمح بـ:[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 الوسيط |CitationClass= تم تجاهله (مساعدة); الوسيط |separator= تم تجاهله (مساعدة)CS1 maint: ref=harv (link)
  2. أ ب Mehlhorn, Kurt; Sanders, Peter (2008), "4 Hash Tables and Associative Arrays", Algorithms and Data Structures: The Basic Toolbox (PDF), Springer, صفحات 81–98, مؤرشف من الأصل (PDF) في 21 يونيو 2020 الوسيط |CitationClass= تم تجاهله (مساعدة); الوسيط |separator= تم تجاهله (مساعدة)CS1 maint: ref=harv (link)
  3. ^ Andersson, Arne (1989). "Optimal Bounds on the Dictionary Problem". Springer Verlag: 106–114. الوسيط |CitationClass= تم تجاهله (مساعدة)
  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 الوسيط |CitationClass= تم تجاهله (مساعدة); الوسيط |separator= تم تجاهله (مساعدة)CS1 maint: ref=harv (link).
  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 doi:10.1137/S0097539791194094[وصلة مكسورة]
  6. ^ Goodrich & Tamassia (2006), pp. 597–599.

روابط خارجيةعدل