٠ حجم الهيكل الديناميكي غير ثابت ويعتمد فقط على حجم الذاكرة المتوفر
تستخدم في عملية تنظيم البيانات هياكل مختلفة " سواء كانت ثابته أو ديناميكية " ولكل هيكل
٠ مفهوم الهيكل
٠ خوارزميات عمليات معالجة الهيكل وتنفيذها
٠ تطبيقات لهيكل
الشكل التالي يبين تقسيمات هياكل البيانات المخلفة :-
الوحدة الأولى
السلاسل والمصفوفات
تعتير السلاسل الرمزية والمصفوفات من الهياكل الثابتة "9856 "ولهذه الهياكل تطبيقات متعددة
في معالجة البيانات ونظراً لأهمية هذه الهياكل فقد خصصنا هذه الوحدة لعرض مفهوم هذه
السلسلة عبارة عن مجموعة من الرموز فمثلاً
-١ التخصيص (8699000800) سلسلة في سلسة أخرى فمثلاً 5182 -: 5181 يتم نسخ
محتوي السلسلة "5782 " في "5181 " بدون أن يتغير محتوي "5782 "
؟- الدمج (00ا60066808) حيث يتم دمج محتوى سلسلتين لإعطاء سلسلة جديدة ؛ فمثلاً
؟- البحث (08880013600109) حيث يتم البحث عن تكرار سلسلة في سلسلة أخرى ؛
فمثلاً السلسلة "88652 " تتكرر في السلسلة "8852 1000881 " ابتداء من الموقع 8
ع- تجزئة السلسلة (008:81015 5590109) حيث تحدذ السلسة الفرعية بتحذيد أول موقع
وأخر موقع في السلسة 8 - 8 في السلسلة "000980 156 8ط وا 175" سلسلة
فرعية () 0
ه- الادخال (10980800) حيث يتم إدخال رمز أو سلسلة فرعية وذلك بتحديد الموقع في
السلسلة الاصلية ؛ فمثلاً لإدخال "21058" في السلسلة " 0800980 8 وا 1015 " ومن
الموقع ١7 تظهر السلسلة الجديدة كمايلي ؛ " 0:09:30 056 عط ا 705 "
3- الحذف (8000ا08 حيث يحدد الرمز أو السلسلة القرعية المراد حذفها من السلسلة
الأصلية وذلك بمعرفة أول موقع للسلسلة الفرعية المراد حذفها
انكمم - 5178100108565 ختمط
تخزين السلاسل "5:06:69 و90 " :-
وسوف نستعرض ثلاث طرق لتخزين السلاسل
-١ طريقة السلاسل ذات الطول الثايت
- طريقة استخدام الجداول المفهرسة.
؟- طريقة القوائم المتصلة.
-١ طريقة السلاسل ذات الطول الثابت :01800160 5071109 160907 (660رز]
في هذه الطريقة يحجز لكل سلسلة عدد محدد من المواقع في لذاكرة وتخزن رموز السلسلة
في هذه المواقع وفي حالة وجود مواقع فائضة فإنها تخزن بالفراغ ولا يمكن استخدامها من قبل
سلسلة أخرى ,؛ وتعتبر هذه الفراغات إحدى مساوىئ هذه الطريقة إذا أنها تؤدي إلى مضيعة
الذاكرة وعدم إستغلالها بصورة مثلية
عملبة الإضافة : 1056:1100
عند إجراء عملية إضافة سلسلة في سلسلة أخرى نتبع الخطوات التالية
؟- يحدد الموقع " البداية " المراد إجراء عملية الإضافة عندة
؟- تتم إزاحة عناصر السلسلة الأصلية لليمين وذلك لإيجاد مكان لعناصر السلسلة المراد
لو فرضنا أننا نريد إدخال السلسلة ( ) في السلسلة التالية ومن الموقع السابع :
)13 +2 >< 30( التحقق من إمكانية الإضافة -١
تنفيذ الإضافه
؟- إزاحة العنصر المشار اليه بأ مسافه مساوية لطول السلسلة المضافة.
القعكمم - 5178106010855 فتمطم
ع- طرح واحد من ١ (1-ا 2 ١ ) وتكرر الخطوة (3) ما دامت (008 - < ١ )
©- تمثل الخطوات من ( ١ - ع ) عملية الازاحة ؛ وبعد الانتهاء منها تنغذ عملية الاضافة
( إضافة عناصر السلسلة الجديدة وبيداً من الموقع (005) )
عملية دمج سلسلتين : 0006616073100
تتم عملية دمج سلسلتين في سلسلة ثلثة حسب الخطوات التالية
-١ يتم فحص مجموع طول السلسلتين فاذا كان أكبر من (80) (طول السلسة الثالثة)
؟- خزن عناصر السلسلة الأولى.
؟- خزن عناصر السلسله الثانية
ويمكن تمثيل هذه العملية بمخطط سير العمليات التالية حيث أن السلسلة الأولى 581
السلسله الثانيه 502 ؛ السلسلة الثالثة 583
لمح 1
نسي
2- طريقة إستخدام الجداول المفهرسة :1071601160 50266 00:16 /عاتا6] 107026
في هذه الطريقة يتم بناء جدول البداية (8518ا 5:906) يحدد فيه بداية كل سلسلة كما بينى جدول
الأطوال (8ا85 180987) يحدد في كل مدخل فيه طول كل سلسلة من لسلاسل في مصفوفة
المساحه(506868 01م والشكل التالي ببين هذه الجداول
©5086" .| مؤشر يشير إلى بداية الأماكن الفارغة
؟- طريقة القوائم المتصله :1180100 كاكنا 460ا61 |
يمكن أن تمثل السلاسل بواسطة لقوائم الثنائية فكل حرف في السلسلة يوضع في عقدة
لها مؤشرين مؤشر أمامي ومؤشر خلف ويتضح ذلك عند التطرق لهذا الهيكل من هياكل
(1-7) المصفوفات 5لر8 01م :-
هي عباره عن هيكل من هياكل البيانات , وهي عباره عن مجموعه منتهيه ومرتبه من العناصر
نتعامل مع المصفوفات فلا بد من تحديد حجم المصفوفه ويتم ذلك بواسطة المستخدم »
كامل فلا يمكن استغلال هذه المساحه بواسطة متغير آخر وتبقى هذه المساحه فارغه.
”. أن البياتات تكون مرتبه مثل ...1,2,3
؟. أن تكون المصفوفه متجانسه ؛ ونقصد بالتجانس أنه لايمكن جمع بيانات مختلفه في
أنواعها وجعلها في مصفوفة واحده ؛ وبالتالي لابد أن تكون البيانات من نوع واحد مثل
نعني بقولنا منتهية (1018ع ) أي أن لها عدد محدود من العناصر ؛ ومرتبة (0008:80) أي أن
عناصرها مرتبة الأول فالثاني فالثالث ... وهكذا ؛ ومتجانسة (100098005 أي أن جميع
عناصرها من نفس النوع (1/08)
أنواع المصفوقات 7/085 :-
لها ثلاثة أنواع :-
-١ مصفوفة أحادية الأبعاد
؟- مصفوفة ثنائية الأبعاد . وهما الأكثر إستخداماً ١( 6 7)
؟- مصفوفة متعددة الأعاد ( بقئمة 0281ماع 0ا0فا )
الصبغة »«قاص5 :-
هنالك طريقتان للتصريح عن المصفوفات :-
-١ أن تقوم بتعريف المصفوفة على أنها نوع بيانات 0/08 0858 ,؛ فلا بد أن يتم حجز مساحة
لها داخل الذاكره ومن ثم نقوم بتعريف هذه البيانات (:116898 ,182 , |88" ) ؛ ويمكن أن
تكون هنالك بيانات لا يوجد تعريف لها ولكن هنالك مواقع محددة في شكل البرنامج العام
يتم فيها التعريف عن أنواع البيا نات الجديدة في لغة 88568١ وذلك بواسطة الكلمة
كأنها نوع من أنواع البيانات المعرفة بلغة الباسكال
*«6ل17 : وهو عدد عناصر المصفوفة ولابد أن يكون من النوع الترتيبي , :78 , 8851880
لوقام
©7/7 007001728 ٠ه 08ب 0618 :هو نوع البيانات ؛ ولابد أن يكون نوع البيانات من
الأنواع الأساسية المعرّفة في لغة الباسكال مثل 108 , 0182 ... وإذا لم تكن معرفة فلا بد
أن يتم تعريفها وذلك بواسطة الكلمة المحجوزة 1708 كما سبق ذكرة ؛ وإذا كان نوع
البيانات من النوع “108898 يحجز لها في الذاكرة 5عتلرط 10
عورد
استعامال ذم ارطارة عمل
*0ا: مصفوفة عدد عناصرها 5 عناصر
8 ؛ مصفوفة نوع بياناتها من النوع 1056983 وتحتوي على 5 عناصر
إسم المصفوفه هو نوع البيانات التي يتعرف عليها البرنامج في لغة 085681 لتعريف
في البيانات ومتساوية في الأحجام وفي منطقة التعريف 8 أكتب متغيرات على حسب
عدد المضفوفات
منطقة التعريف 88لا وكذلك تستخدم هذه الطريقة إذا كان هنالك عدد من المصفوفات غير