المسارات
/
Haskell
Haskell
/
التمارين
/
المجموعة المخصصة
المجموعة المخصصة

المجموعة المخصصة

متوسط

التعليمات

أنشئ نوع مجموعة مخصصًا.

أحيانًا يكون من الضروري تعريف بنية بيانات مخصصة من نوع ما، مثل المجموعة. في هذا التمرين ستُعرِّف مجموعة خاصة بك. لا يهم كيف تعمل من الداخل، ما دامت تتصرف مثل مجموعة من العناصر الفريدة.

تلميحات

لإكمال هذا التمرين، عليك إنشاء نوع البيانات CustomSet، مع نسختَي Eq وShow، وتنفيذ الدوال التالية:

  • delete
  • difference
  • empty
  • fromList
  • insert
  • intersection
  • isDisjointFrom
  • isSubsetOf
  • member
  • null
  • size
  • toList
  • union

ستجد إعلان بيانات وهميًا وتوقيعات الأنواع جاهزة بالفعل، لكن الأمر متروك لك لتعريف الدوال وإنشاء نوع بيانات ذي معنى، أو newtype أو مرادف نوع.

إن كنت مهتمًا بكتابة تنفيذ فعّال لكنك لا تعرف تمامًا من أين تبدأ، فأفضل مقدمة أعرفها هي كتاب Chris Okasaki بعنوان "Purely Functional Data Structures"، ويمكنك قراءة نسخة منه هنا: https://www.cs.cmu.edu/~rwh/theses/okasaki.pdf

تعديل عبر GitHub يفتح الرابط في نافذة أو علامة تبويب جديدة
Haskell Exercism

مستعد لبدء المجموعة المخصصة؟

سجّل في Exercism لتتعلّم وتتقن Haskell عبر 107 تمارين، وإرشاد بشري حقيقي، وكل ذلك مجانًا.