1.17k likes | 2.89k Views
تراكيب البيانات. كلية المجتمع الخرج البرمجة - المستوى الثاني. إعداد: أ . محمد الفقهــــــــاء. مقدمــــة. الفكرة من هذا المقرر هو بيان طرق التعامل مع البيانات و جمعها و طرق الاضافة و التعدبل و الحذف و كيفية الوصول بأفضل الطرق للبيانات.
E N D
تراكيب البيانات كلية المجتمع الخرج البرمجة - المستوى الثاني إعداد: أ. محمد الفقهــــــــاء
مقدمــــة • الفكرة من هذا المقرر هو بيان طرق التعامل مع البيانات و جمعها و طرق الاضافة و التعدبل و الحذف و كيفية الوصول بأفضل الطرق للبيانات. • جميع تطبيقات الحاسب تقرأ البينات ثم تجري عليها عملية معالجة ثم في النهاية توجد المخرجات. • البيانات قد تكون أحرف, أرقام, كلمات . . . . إعداد: أ. محمد الفقهـــــــــاء
أنواع البيانات Data Types • البيانات يتم تصنيفها إلى عدة أنواع مثل (عدد صحيح, حرف, رقم عشري, ........). • كل نوع يمثل مجال معين للبيانات لا يجوز خلطها مع أنواع أخرى.مثال: متغير من نوع عدد صحيح يجب أن يكون من أرقام فقط و لا يجوز إضافة حروف معه. • كل نوع يجرى عليه مجموعة من العمليات الخاص بذلك النوع فلا يجوز إجراء قسمة لمتغيرين حرفيين. إعداد: أ. محمد الفقهاء
المجال و العمليات Domain and Operations • مثــــــال: إعداد: أ. محمد الفقهاء
تراكيب أو هياكل البيانات • هي نوع من البيانات يمكن أن: • يقسم إلى مجموعة من العناصر. • يكون له هيكلية في بناءه تتضمن عناصره. إعداد: أ. محمد الفقهاء
المجموعات و تراكيب البيانات 1 • التجميع أو المجموعة م طرق تراكيب البيانات و يمكن تقسيم مجموعات البيانات إلى قسمين رئسيين: • القسم الأول: مجموعات خطية.و هنالك ترتيب معين للبيانات وللترتيب درجات مثل المصفوفات. • القسم الثاني: مجموعات غير خطية.ليس هناك ترتيب ولا يوجد درجات أو رتب للبيانات. • المجموعات لها خصائص مثل عدد العناصر و يجرى عليها عمليات (إضافة, حذف, ..........) إعداد: أ. محمد الفقهاء
المجموعات و تراكيب البيانات 2 إعداد: أ. محمد الفقهاء
المجموعات الخطية Linear • و تقسم إلى قسمين: • الوصول المباشر Direct Access • الوصول المتسلسل Sequential Access إعداد: أ. محمد الفقهاء
الوصول المباشر Direct Access • إن أشهر مثال على الوصول المباشر هو المصفوفة (Array) و التي تحمل مجموعة من العناصر المتشابهة في النوع. • يمكن الوصول إلى أي عنصر في المصفوفة عن طريق ترتيب العنصر في المصفوفة. العنصر 0 العنصر 1 العنصر 2 …… العنصر j العنصر n-1 إعداد: أ. محمد الفقهاء
الوصول المباشر Direct Access • إذا كان عدد العناصر في المصفوفة هو (n).فإن ترتيب آخر عنصر في المصفوفة هو (n-1) و ذلك لأن ترتيب أول عنصر بدأ بالرقم (0). • من الأمثلة الأخرى على الوصول المباشر هو ال (String). العنصر 0 العنصر 1 العنصر 2 …… العنصر j العنصر n-1 إعداد: أ. محمد الفقهاء
الوصول المباشر Direct Access • هناك نوع للبيانات من فصيلة الوصول المباشر و يسمى (Structure) و يتم بنائها و تعريفها من قبل المستخدم و يمكن أن تحتوي على عناصر غير متشابهة بالنوع. • مثال على ال (Structure) الموظف يكون له اسم من نوع string و له راتب من نوع Integer. إعداد: أ. محمد الفقهاء
الوصول المتسلسل Sequential Access • هو عبارة عن قائمة يتم تخزين القوائم بها بترتيب تسلسلي و هذا النوع من القوائم لا يحدد بحجم معين عند إنشائها. • يمكن توسعتها و تقليصها بشكل تلقائي. • الوصول إلى العناصر يكون بشكل متسلسل و مرتب. العنصر الأول العنصر الثاني العنصر الثالث …… الأخير Nth إعداد: أ. محمد الفقهاء
الوصول المتسلسل Sequential Access • لغرض الوصول لأي عنصر في القائمة يجب أن تجتاز جميع العناصر التي قبله و هنالك وسيلتين لذلك: • الوسيلة الأولى: باتجاه واحد من البداية إلى النهاية. • الوسيلة الثانية: باتجاهين من البداية إلى النهاية و العكس. • إن أبسط مثال على القوائم الخطية هو قائمة البقالة. • القوائم الخطية المرتبة لها ميزة في أنها أسهل في تطبيق عملية البحث إعداد: أ. محمد الفقهاء
المجموعات غير الخطية Nonlinear • و تقسم إلى قسمين: • المجموعات الهيكلية Hierarchal collections • التجاميعGroup collection. إعداد: أ. محمد الفقهاء
المجموعات الهيكلية Hierarchal collections • مبدا التقسيم في هذه الطريقة هي المستويات, حيث أن العنصر في المستوى الأعلى له عنصر تابع في المستوى الأدنى. • نموذج الشجرة من الأمثلة الشائعة لهذه الطريقة و رأس الشجرة يسمى الجذر والعناصر الممتدة منه تسمى العقد. • تنظيم الملفات في الويندوز هو مثال على استخدام الشجرة. إعداد: أ. محمد الفقهاء
المجموعات Group • و هي أيظا غير خطية و لها ثلاث أقسام: • الفئات Sets • الرسوم Graphs • الشبكات Networks إعداد: أ. محمد الفقهاء
المجموعات Group • الفئات Sets:مجموع من البيانات غير المرتبة لكنها لا تقبل التكرارمثل كشف أسماء الطلبة. • الرسوم Graph:مجموعة من النقاط Nodes و مجموعة من الروابط Edges تربط بين النقاط. إعداد: أ. محمد الفقهاء
المجموعات Group القصيم • مثال على الرسوم • تستخدم هذه الطريق في حالة كان يجب المرور علىجميع النقاط و الهدف الوصولإلى المسار المثالي مكة الرياض الدمام الخرج إعداد: أ. محمد الفقهاء
المجموعات Group • الشبكة Network:و هي شبيهة بالرسوم لكن الروابط يكون لها قيمة (وزن) و هو يمثل تكلفة إستخدام هذا الرابط للمرور إلى نقطة أخرى. • مثال: A C 91 72 D 186 142 202 B إعداد: أ. محمد الفقهاء
خوارزميات الترتيب Sorting Algorithms هنالك ثلاث أنواع رئيسية: • ترتيب الفقاعة Bubble Sort • ترتيب الإختيارSelection Sort • ترتيب الإدخال Insertion Sort إعداد: أ. محمد الفقهاء
ترتيب الفقاعة Bubble Sort • من سلبياتها أنها بطيئة لكنها ابسط خوارزمية للترتيب من ناحية الفهم و التطبيق. • و طريقة عملها يقوم على مبدأ مقارنة العنصر الأول و الثاني و تبديل أماكنهما إن دعت الحاجة ثم الثاني مع الثالث و تستمر العملية حتى نهاية القائمة. إعداد: أ. محمد الفقهاء
مثال على ترتيب الفقاعة إعداد: أ. محمد الفقهاء
ترتيب الإختيارSelection Sort • تبدأهذه الطريقة من بداية المصفوفة و يقارن أول عنصر مع باقي العناصر. • بعد المقارنة يوضع أصغر عنصر في الخانة (0). • يعاد الفحص من جديد لكن بدأ من الخانة (1). • نكمل الطريقة حتى نصل نهاية المصفوفة أو القائمة. إعداد: أ. محمد الفقهاء
ترتيب الإدخال Insertion Sort • هنا لا يوجد قائمة بل يتم الترتيب عند إدخال العناصر إلى القائمة. • يتم إختيار مكان العنصر بين العناصر الموجودة عند إدخاله إلى القائمة. إعداد: أ. محمد الفقهاء
Searching algorithmsخوارزميات البحث • يعتبر البحث من أكثر العمليات شيوعا في نظام الحاسوب و أكثرها أهمية و مع إزدياد أحجام قواعد البيانات دعت الحاجة لوجود آليات بحث سريعة و ذات كفاءة عالية. • يمكن ذكر أشهر طريقتين على البحث: • البحث التسلسلي Sequential Search • البحث الثنائي Binary Search إعداد: أ. محمد الفقهاء
Sequential Searchالبحث المتسلسل • و هو من أكثرها وضوحا و يقوم مبدأ البحث في البدء من أول القائمة وصولا إلى آخرها حتى يتم إيجاد (عنصر البحث) و تسمى أيضا البحث الخطي (Linear Search). • مثال:البحث عن أدنى أو أعلى قيمة؟ إعداد: أ. محمد الفقهاء
Sequential Searchالبحث المتسلسل • للبحث عن أدنى أو أعلى قيمة يتم إتباع الخطوات التالية: • تحديد أول عنصر بأنه أقل قيمة. • مقارنة أقل قيمة بالقيمة المجاورة. • إذا كانت القيمة المجاورة أقل تصبح هي أقل قيمة. • الإكمال بنفس الطريقة حتى نهاية القائمة. إعداد: أ. محمد الفقهاء
Sequential Searchالبحث المتسلسل أدنى قيمه 4 • مثال توضيحي لـ البحث عن أدنى قيمه • لتسريع عملية البحث يمكن وضع الأرقام الأكثر تكرارا في مقدمة القائمة. مقارنة مقارنة مقارنة 4 2 2 1 أدنى قيمه أدنى قيمه أدنى قيمه أدنى قيمه إعداد: أ. محمد الفقهاء
Binary searchالبحث الثنائي • و يشترط لهذه الطريقة أن تكون القائمة مرتبة تصاعديا أو تنازليا. • مثال إبحث عن رقم 8 في القائمة التالية: • نأخذ الرقم الذي في المنتصف(5) و نقارنه مع 8. • نجد أن ال 8 موجودة على النصف الأيمن من القائمة. • نأخذ الرقم الذي في منتصف الجزء الأيمن فنجده 8. • تم إيجاد الرقم الذي نبحث عنه. إعداد: أ. محمد الفقهاء