SDA601
بنى المعطيات والخوارزميات (2)
Data Structures & Algorithms II
5 نقطة اعتماد
الفصل الثامن
تخصص: تطوير البرمجيات
مسار تطوير البرمجيات (SD)
مقرر تخصصي ضمن مسار تطوير البرمجيات (SD) من اختصاص هندسة البرمجيات.
المتطلبات السابقة المباشرة
مقررات تعتمد على هذا المقرر
كامل سلسلة المتطلبات السابقة
توصيف المقرر
أهداف المقرر
يتناول مقرر بنى المعطيات والخوارزميات (2)، والذي يعتبر امتدادًا لمقرر بنى المعطيات والخوارزميات (1)، تتمات في الأشجار الثنائية (Binary Tree)، والبيانات (Graphs)، وبعض خوارزميات الفرز والبحث (Sorting and Searching Algorithms). كما يتناول بنى معطيات شجرية غير ثنائية مثل B Tree, B+ Tree, Red Black Tree والعمليات عليها. وفي محور الخوارزميات سنتعرض إلى الخوارزميات الجشعة (Greedy Algorithms)، والبرمجة الديناميكية.
النتائج التعليمية المرجوة
- استكمال العمليات المتعلقة بالأشجار الثنائية
- الأشجار المتوازنة
- أشجار البحث الثنائية
- أشجار AVL
- استكمال العمليات المتعلقة بالبيانات
- الترتيب الطبولوجي
- شجرة المسح Spanning tree
- تعلم بنى معطيات شجرية غير ثنائية وعمليات الإضافة والحذف عليها:
- B Tree
- B+ Tree
- Red Black Tree
- تعلم خوارزميات فرز وبحث جديدة
- Counting Sort
- Radix Sort
- Bucket Sort
- Heap Sort
- تعلم الخوارزميات الجشعة
- Greedy Algorithm
- Ford-Fulkesron Algorithm
- Dijkstra's Algorithm
- Kruskal's Algorithm
- Prim's Algorithm
- Huffman Coding
- تعلم البرمجة الديناميكية
- Dynamic Programming
- Floyed Warshall Algorithm
- Longest Common Subsequence
مفردات المقرر (الفصول)
| # | عنوان الفصل | محتوى الفصل |
|---|---|---|
| CH1 | تتمات في الأشجار الثنائية | 1. مقدمة 2. التعريف بالأشجار المتوازنة وشرح خصائصها وأنواعها. 3. تعريف أشجار البحث الثنائية 4. توصيف العمليات الأساسية على أشجار البحث الثنائية (بحث-إنشاء-إضافة-حذف). 5. دراسة وتحليل خوارزميات البحث– الإنشاء –الإضافة – الحذف في شجرة البحث الثنائية. 6. تعريف أشجار AVL. 7. توصيف العمليات الأساسية على أشجار AVL (تدوير شجرة فرعية –الإستدارة لليمين ولليسار-إضافة-حذف). 8. دراسة وتحليل خوارزميات (تدوير شجرة فرعية-الإستدارة لليمين ولليسار-إضافة-حذف) في شجرة AVL. 9. أمثلة وتدريبات. |
| CH2 | تتمات في بنى البيانات | 1. مقدمة 2. الترتيب الطبولوجي 3. شجرة المسح Spanning Tree والعمليات عليها. |
| CH3 | البنى الشجرية غير الثنائية | 1. مقدمة 2. أشجار B-Tree 3. تعاريف ومفاهيم في أشجار B-Trees 4. توصيف العمليات الأساسية على أشجار B-Trees (بحث-إنشاء-إضافة-حذف) 5. دراسة وتحليل خوارزميات البحث-الإنشاء-الإضافة-الحذف في شجرة B-Tree. 6. أمثلة وتدريبات. |
| CH4 | البنى الشجرية غير الثنائية | 1. أشجار B+Tree 2. تعاريف ومفاهيم في أشجار B+Trees 3. مقارنة بين أشجار B-Tree و B+Tree 4. توصيف العمليات الأساسية على أشجار B+Trees (بحث-إنشاء-إضافة-حذف) 5. دراسة وتحليل خوارزميات(البحث-الإنشاء-الإضافة-الحذف) في شجرة B+Tree. 6. أمثلة وتدريبات. |
| CH5 | البنى الشجرية غير الثنائية | 1. مقدمة 2. تعريف وخصائص أشجار Red-Black 3. العمليات على أشجار Red-Black ( تدوير الأشجار الفرعية-تدوير شجرة Red-Black من اليمين لليسار ومن اليسار لليمين – إضافة عنصر إلى شجرة Red-Black-حذف عنصر من شجرة Red-Black. 4. أمثلة وتدريبات. 5. خاتمة وملخص بني الأشجار غير الثنائية. |
| CH6 | خوارزميات البحث والفرز الجديدة | 1. التعريف بخوارزمية Counting Sort وشرح خطوات الخوارزمية ودراسة التعقيد الزمني. 2. التعريف بخوارزمية Radix Sort وشرح خطوات الخوارزمية ودراسة التعقيد الزمني. 3. التعريف بخوارزمية Bucket Sort وشرح خطوات الخوارزمية ودراسة التعقيد الزمني. 4. التعريف بخوارزمية Heap Sort وشرح خطوات الخوارزمية ودراسة التعقيد الزمني. 5. أمثلة وتدريبات. |
| CH7 | الخوارزميات الجشعة | 1. مقدمة 2. التعريف بخوارزمية Greedy Algorithm وشرح خطوات الخوارزمية ودراسة التعقيد الزمني. 3. التعريف بخوارزمية Ford-Fulkesron وشرح خطوات الخوارزمية ودراسة التعقيد الزمني. 4. Dijkstra's Algorithm التعريف بخوارزمية وشرح خطوات الخوارزمية ودراسة التعقيد الزمني. 5. التعريف بخوارزمية Kruskal's Algorithm وشرح خطوات الخوارزمية ودراسة التعقيد الزمني. 6. التعريف بخوارزمية Prim's Algorithm وشرح خطوات الخوارزمية ودراسة التعقيد الزمني. 7. التعريف بخوارزمية Huffman Coding وشرح خطوات الخوارزمية ودراسة التعقيد الزمني. 8. أمثلة وتدريبات. |
| CH8 | البرمجة الديناميكية | 1. مقدمة 2. تعريف البرمجة الدبناميكية Dynamic Programming وشرح كيفية عملها. 3. مقارنة البرمجة الدبنامية بالخوارزميات العودية والخوارزميات الشجعة. 4. تعريف خوارزمية Floyed Warshall وشرح خطوات عملها. 5. التعريف ب Longest Common (LCS) Subsequence. 6. استخدام البرمجة الدبناميكية في ايجاد LCS 7. شرح خطوات خوارزمية LCS. 8. أمثلة وتدريبات. |
معلومات عن الامتحان
أتمتة
هذه المعلومة مبنية على فصول سابقة وقد تُغيّرها الجامعة في أي وقت — تأكد منها مع مدرّس المقرر قبل الامتحان.
مدرّسو المقرر
سهير ابراهيم المنسّق
t_sibraheem@svuonline.org
إحصائيات المقرر
جارٍ التحميل…