تركيب البيانات Data Structure ابراهيم شاهين / تربية جنوب الخليل تركيب البيانات : يشير الى مجموعة من عناصر البيانات التي لها تنظيم خاص والتي.

Download Report

Transcript تركيب البيانات Data Structure ابراهيم شاهين / تربية جنوب الخليل تركيب البيانات : يشير الى مجموعة من عناصر البيانات التي لها تنظيم خاص والتي.

‫تركيب البيانات‬
‫‪Data Structure‬‬
‫ابراهيم شاهين ‪ /‬تربية جنوب الخليل‬
‫تركيب البيانات‪:‬‬
‫يشير الى مجموعة من عناصر البيانات التي لها تنظيم خاص والتي عن طريقها يمكن‬
‫ترجمة التصور المنطقي للبيانات إلى تمثيل مناسب داخل الحاسوب‪.‬‬
‫أهم ميزتين تتسم بهما التراكيب‬
‫البيانية‪:‬‬
‫‪ .1‬التعامل مع كل عنصر على حدة‪ ،‬كما لو كان متغير مستقلا‪.‬‬
‫‪ .2‬طريقة تنظيم العناصر تؤثر مباشرة على طريقة الوصول إلى العنصر الواحد أو‬
‫التعامل من المركب البياني ككل‪.‬‬
‫العلقة بين التركيب المنطقي والتركيب الفيزيائي للبيانات‪:‬‬
‫تركيببب البيانببات تهببتم بالكيفيببة التببي يببتم بهببا ترجمببة التصببور المنطقببي لمجموعببة مببن‬
‫البيانبببات إلبببى تنظبببيم اختزانبببي خببباص يتفبببة وطبيعبببة تصبببمم اكبببرة الحاسبببوب ويتبببيح لنبببا‬
‫الوصول إلبى العناصبر المختلفبة لهب ب البيانبات والب يمثبل التصبور الفيزيبائي للبيانبات‪،‬‬
‫فنظببرة المبببرمب للبيانببات هببو التصببور المنطقببي النببابع مببن الوظيفببة التببي تؤديهببا هبب ب‬
‫البيانببات‪ ،‬امببا نظببرة جهبباز الحاسببوب للبيانببات هببي التصببور الفيزيببائي النببابع م بن طبيعببة‬
‫تركيبته الجاهزة وطريقة تعامله مع البيانات من حيث التخزين‪.‬‬
‫أهمية تركيب البيانات‬
‫• يؤد إلى استخدام خوارزميات حل أكثر كفاءة‪.‬‬
‫• بجعل البرنامب أيسر للكتابة حيث تكون خوارزمية الحل اقرب إلى الواقع مما يؤد‬
‫إلى تقليل الجهد والوقت اللزمين لكتابة البرنامب‪.‬‬
‫• تؤد إلى برامب واضحة يسهل فهمها وتعديلها عند الحاجة في وقت قصير‪.‬‬
‫أسس اختيار التراكيب البيانية المتوفرة لحل مشكلة معينة‬
‫‪ .1‬حجم البيانات المتصلة بالمشكلة‪.‬‬
‫‪ .2‬مدى تكرار حدوث المشكلة‪.‬‬
‫‪ .3‬طبيعة البيانات نفسها‪.‬‬
‫‪ .4‬مساحة ال اكرة التي يتطلبها التركيب البياني‪.‬‬
‫‪ .5‬الوقت اللزم السترجاع أحد عناصر البيانات‪.‬‬
‫‪ .6‬مدى سهولة أو صعوبة ترجمة التركيب البياني إلى أحدى لغات‬
‫البرمجة‪.‬‬
‫العمليات األساسية التي تتم على تراكيب البيانات‬
‫االستقصاء‬
‫االستعراض‬
‫الفرز‬
‫الدمب‬
‫اإلضافة‬
‫الح ف‬
‫التحديث‬
‫النسخ‬
‫االستبدال ‪.....‬‬
‫منها‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫التراكيب البيانية‬
‫المصفوفات‪.‬‬
‫السجلت‪.‬‬
‫االشجار بأنواعها‪.‬‬
‫المرصوصات أو المكدسات‪.‬‬
‫االرتال أو الطوابير‪.‬‬
‫القوائم المتصلة‪.‬‬
‫االصناف‪.‬‬
‫الملفات‪.‬‬
‫المصفوفات االحادية‬
‫المصفوفات‬
‫هي مجموعة عناصر البيانات تكون من نوع واحد ومرتبة في تسلسل يمكن اختيار أ‬
‫عنصر فيها بداللة موقعه ضمن ه ا التسلسل‪.‬‬
‫والشكل التالي يعبر عن مصفوفة أحادية عدد عناصرها ‪:n‬‬
‫‪N-1‬‬
‫)‪Name(n-1‬‬
‫‪2‬‬
‫‪.......‬‬
‫‪1‬‬
‫‪0‬‬
‫)‪Name(0) Name(1) Name(2‬‬
‫‪Index‬‬
‫‪Name‬‬
‫‪Data‬‬
‫االعلن عن المصفوفة‬
‫‪Dim Array_Name(n) as type‬‬
‫مصفوفة لتخزين ايام االسبوع‬
‫‪Dim Day_name(7) as String‬‬
‫المصفوفات متعددة االبعاد‬
‫تحتاج الى دليلين لتمييز كل عنصر من عناصرها‪ ،‬والثلثية تحتاج الى‬
‫ثلثة أدلة لتمييز كل عنصر من عناصرها‪ ،‬والمصفوفة ات الرتبة ‪n‬‬
‫تحتاج الى ‪ n‬دليل لتمييز كل عنصر من عناصرها‪.‬‬
‫علمات أربعة طلب في خمسة مواد‬
‫مادة‬
‫‪4‬‬
‫‪3‬‬
‫‪2‬‬
‫‪1‬‬
‫‪0‬‬
‫‪83‬‬
‫‪75‬‬
‫‪90‬‬
‫‪70‬‬
‫‪60‬‬
‫‪0‬‬
‫‪75‬‬
‫‪65‬‬
‫‪85‬‬
‫‪80‬‬
‫‪55‬‬
‫‪1‬‬
‫‪81‬‬
‫‪71‬‬
‫‪64‬‬
‫‪61‬‬
‫‪63‬‬
‫‪2‬‬
‫‪79‬‬
‫‪88‬‬
‫‪76‬‬
‫‪71‬‬
‫‪82‬‬
‫‪3‬‬
‫ما علمة الطالب ال‬
‫رقمه ‪ 2‬في المادة رقم ‪ 4‬؟‬
‫‪81‬‬
‫طالب‬
‫االعلن عن المصفوفة الثنائية‬
‫‪Dim Array_Name(n,m) as type‬‬
‫‪ : N‬لمعرفة عدد الصفوف وهي ‪n+1‬‬
‫‪ : m‬لمعرفة عدد االعمدة وهي ‪m+1‬‬
‫مصفوفة لتخزين علمات ثلثة طلب في ثلث مواد ‪:‬‬
‫السجل ‪:‬‬
‫السجلت‬
‫هو عبارة عن نمط خاص من البيانات يجمع طائفة من مختلف أنماط البيانات معاً‪ ،‬وتنشأ الحاجة إلى‬
‫استعمال السجالت حين تكون هذه األنماط مترابطة معا‪.‬‬
‫مثال‬
‫االعلن عن السجل للبيانات السابقة ‪:‬‬
‫االعالن عن متغير من نوع سجل‬
‫االعالن عن مصفوفة من نوع سجل‬
‫تطبيقات‬
‫‪‬‬
‫إيجاد أكبر قيمة في المصفوفة‪.‬‬
‫‪‬‬
‫البحث عن عنصر في المصفوفة‪.‬‬
‫‪‬‬
‫البحث التتابعي‬
‫‪‬‬
‫البحث الثنائي‬
‫‪‬‬
‫تبادل متغيران لقيمهما‪.‬‬
‫‪‬‬
‫الفرز أو الترتيب‪.‬‬
‫‪‬‬
‫الفرز الفقاعي ‪.‬‬
‫‪‬‬
‫الفرز االنتقائي‬
‫إيجاد أكبر قيمة في المصفوفة‬
‫البحث عن عنصر في المصفوفة‬
‫البحث التتابعي‬
‫البحث عن عنصر في المصفوفة‬
‫البحث الثنائي‬
‫تبادل متغيران لقيمهما‬
‫الفرز أو الترتيب‬
‫الفرز الفقاعي‬
‫الفرز أو الترتيب‬
‫الفرز الفقاعي‬
‫الفرز أو الترتيب‬
‫الفرز الفقاعي‬
‫الفرز أو الترتيب‬
‫الفرز االنتقائي‬