اذهب إلى المحتوى

السؤال

نشر

في لغة بايثون هل يوجد فرق بين القوائم والمصفوفات ام هي ذاتها الهيئة انها ذاتها 

لكنني اقرأ كتاب يقوم بشرح الفرق بين المصفوفات والقوائم المرتبطة من حيث الإدراج والقراءة والية العمل

فأرجو التوضيح لأن الأمور أصبحت متداخلة قليلا

Recommended Posts

  • 0
نشر

في بايثون، لا يوجد نوع بيانات يُسمى مصفوفة array بل الاسم مختلف وهو قائمة list وهي بنية بيانات مرنة ومتغيرة الحجم، تحتوي على عناصر من أنواع بيانات مختلفة، والوصول إلى العناصر يتم عن طريق الفهرسة index والتي تبدأ من 0، وإضافة أو حذف العناصر من منتصف القائمة يتطلب تحريك العناصر الأخرى، ويكون بطيئًا للقوائم الكبيرة.

ولكي لا تتشت فيما بعد، فهناك ما يسمى مصفوفة NumPy (NumPy array) وتلك هي أقرب شيء إلى المصفوفات التقليدية مثل التي في C++ وjava، وتُقدمها مكتبة NumPy وهي مُحسّنة للأداء، خاصةً للعمليات الحسابية على مجموعات كبيرة من الأعداد.

عناصرها من نفس نوع البيانات (مثل أعداد صحيحة أو أعداد عشرية)، والوصول إليها سريع جدًا، لكنها أقل مرونة من القوائم، حيث لا يمكنك بسهولة إضافة أو حذف عناصر من منتصف المصفوفة.

الكتاب الذي تقرأه يُقارن بين Python lists والقوائم المرتبطة Linked Lists وتلك بنية بيانات مختلفة تمامًا عن القوائم في بايثون، حيث تتكون من عقد (nodes)، كل عقدة تحتوي على قيمة ورابط pointer إلى العقدة التالية.

إضافة/حذف العناصر في منتصف القائمة أسرع نسبيًا من القوائم في بايثون، لكن الوصول إلى عنصر معين أبطأ لأنك تحتاج إلى المرور عبر العقد واحدة تلو الأخرى.

القوائم المترابطة

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...