CCS3403 Computing Algorithms - Lecture 1

0.0(0)
Studied by 0 people
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/59

flashcard set

Earn XP

Description and Tags

مجموعة فلاش كاردز شاملة للمحاضرة الأولى في مادة خوارزميات الحوسبة، تغطي التعريفات، الخصائص، أنواع التحليل، والتعقيد الزمني والمكاني.

Last updated 8:46 PM on 5/9/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai

No analytics yet

Send a link to your students to track their progress

60 Terms

1
New cards

ما هو رمز المادة واسم المحاضر لهذه الدورة؟

رمز المادة هو CCS3403 واسم المحاضر هو Dr. Mostafa M. Elsherbini.

2
New cards

ما هو موضوع المحاضرة الأولى؟

مقدمة في خوارزميات الحوسبة (Introduction to Computing Algorithms).

3
New cards

ما هو الكتاب المقرر لهذه المادة؟

كتاب Introduction to the Design and Analysis of Algorithms للمؤلف Anany Levitin، الطبعة الثالثة 2012.

4
New cards

اذكر أسماء مؤلفي المرجع Introduction to Algorithms.

Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein.

5
New cards

ماذا قال W. Edwards Deming عن وصف ما نفعله كعملية؟

قال: "إذا لم تستطع وصف ما تفعله كعملية، فأنت لا تعرف ما تفعله".

6
New cards

ما هي خطوات خوارزمية حساب جذور المعادلة التربيعية ax2+bx+c=0ax^2 + bx + c = 0؟

الخطوة 1: تحديد المعاملات aa، bb، و cc. الخطوة 2: تطبيق الصيغة x = rac{-b imes ext{sqrt}(b^2 - 4ac)}{2a}. الخطوة 3: إيجاد x1x_1. الخطوة 4: إيجاد x2x_2.

7
New cards

ما هو التعريف العام للخوارزمية حسب الصفحة رقم 7؟

هي مجموعة من الخطوات الواضحة وغير الغامضة لإنجاز مهمة أو حل مشكلة.

8
New cards

كيف تُعرف الخوارزمية في علوم الحاسب؟

هي سلسلة من التعليمات غير الغامضة لحل مشكلة، للحصول على مخرجات مطلوبة من أي مدخلات مشروعة في وقت محدود.

9
New cards

لماذا تعتبر الخوارزمية هي العلم في "علوم الحاسب"؟

لأنها تبدأ ببيانات المدخلات، وتجري حسابات معقدة، وتتوقف عند العثور على الإجابة.

10
New cards

ما هو الفرق الرئيسي بين الخوارزمية والبرنامج من حيث التجريد؟

الخوارزمية هي تصميم مجرد (Abstract Design)، بينما البرنامج هو تنفيذ ملموس (Concrete Implementation).

11
New cards

أيهما يعتمد على الأجهزة ونظام التشغيل: الخوارزمية أم البرنامج؟

البرنامج يعتمد على الأجهزة ونظام التشغيل (HW & OS-dependent)، بينما الخوارزمية مستقلة عنهما (HW & OS-independent).

12
New cards

قارن بين لغة كتابة الخوارزمية والبرنامج.

الخوارزمية يمكن كتابتها بأي لغة، بينما البرنامج يتطلب لغة برمجة محددة.

13
New cards

ما هي الخصائص الخمس الأساسية للخوارزمية؟

المدخلات (Input)، المخرجات (Output)، الوضوح (Definiteness)، المحدودية (Finiteness)، والفعالية (Effectiveness).

14
New cards

ماذا تعني خاصية "الوضوح" (Definiteness) في الخوارزمية؟

أن تكون الخطوات غير غامضة وواضحة (Unambiguity and Clearness).

15
New cards

ما هو شرط خاصية "المحدودية" (Finiteness)؟

يجب أن تنتهي الخوارزمية (Must terminate).

16
New cards

ما هو شرط خاصية "الفعالية" (Effectiveness)؟

استهلاك وقت ومساحة أقل (Less time and space).

17
New cards

ما هي الطرق الثلاث لكتابة الخوارزمية؟

اللغة الطبيعية (Natural Language)، المخطط الانسيابي (Flowchart)، والشيفرة الوهمية (Pseudocode).

18
New cards

كيف نحكم على جودة الخوارزمية؟

عن طريق الصحة (Correctness)، الكفاءة (Efficiency)، وسهولة التنفيذ (Ease of Implementation).

19
New cards

ماذا ينتج عن استخدام خوارزمية سيئة؟

تؤدي إلى وقت تنفيذ أطول.

20
New cards

كيف يتم حساب مجموع الأرقام من 1 إلى 101210^{12} باستخدام خوارزمية جيدة؟

باستخدام الصيغة الرياضية مباشرة sum = rac{n imes (n + 1)}{2}.

21
New cards

ماذا فعل العالم غاوس (Gauss) عندما طُلب منه جمع الأرقام من 1 إلى 100؟

كتب الإجابة 5050 في ثوانٍ معدودة باستخدام التفكير الرياضي بدلاً من الجمع اليدوي المطول.

22
New cards

ما هو التعقيد الزمني لطريقة غاوس مقارنة بطريقة التكرار (Loop)؟

تعقيد غاوس هو O(1)O(1) بينما طريقة التكرار هي O(n)O(n).

23
New cards

ما هو تعريف المشكلة القابلة للحل (Decidable Problem)؟

هي المشكلة التي توجد لها خوارزمية فعالة (تستغرق وقتاً متعدد الحدود Polynomial Time أو أقل للتنفيذ).

24
New cards

ما هو تعريف المشكلة غير القابلة للحل (Undecidable Problem)؟

هي المشكلة التي لا توجد لها خوارزمية فعالة (تستغرق وقتاً أسياً Exponential Time للتنفيذ).

25
New cards

ما هو تحليل الخوارزميات (Algorithm Analysis)؟

دراسة أداء الخوارزمية بناءً على استهلاك الوقت ومساحة الذاكرة.

26
New cards

قارن بين التحليل المسبق (Priori) والتحليل البعدي (Posteriori) من حيث وقت الحساب.

التحليل المسبق هو تقدير قبل التنفيذ، بينما التحليل البعدي هو حساب بعد التنفيذ.

27
New cards

أيهما يعتمد على لغة البرمجة والأجهزة: التحليل المسبق أم البعدي؟

التحليل البعدي (Posteriori Analysis) يعتمد على لغة البرمجة والأجهزة.

28
New cards

ما هي ميزة التحليل المسبق (Priori Analysis)؟

سريع وعملي ومستقل عن الأجهزة ولغة البرمجة.

29
New cards

ما هو معدل النمو (Growth Rate) في تحليل الخوارزميات؟

هو المعدل الذي يزداد به وقت التشغيل كدالة في حجم المدخلات (n)(n).

30
New cards

ما هي طريقة عد التكرار (Frequency Count Method)؟

طريقة لإيجاد معدل نمو الخوارزمية من خلال عد عدد المرات التي يتم فيها تنفيذ كل تعليمية أساسية.

31
New cards

ماذا يمثل الرمز F(n)F(n) والرمز S(n)S(n)؟

F(n)F(n) هي دالة الوقت (Time Function)، و S(n)S(n) هي دالة المساحة (Space Function).

32
New cards

في خوارزمية الجمع (result = a + b)، ما هي قيم F(n)F(n) و S(n)S(n)؟

F(n)=3F(n) = 3 و S(n)=3S(n) = 3، وهي دوال ثابتة.

33
New cards

عند تحليل الخوارزميات، هل نهتم بالقيم الدقيقة لـ F(n)F(n)؟

لا، نحن مهتمون بمعدلات النمو (Growth Rates) ورتبة معدلات النمو.

34
New cards

ما هو التحليل التقاربي (Asymptotic Analysis)؟

طريقة لوصف السلوك المحدود (Limiting Behavior) للدالة عندما تؤول nn إلى ما لا نهاية.

35
New cards

كيف يتم تحديد تدوين Big O؟

تحديد الحد المهيمن (Dominant Term)، تحديد رتبة النمو، ثم كتابة التدوين وتبسيطه.

36
New cards

ما هو تدوين Big O للدالة f(n)=3n3+2n2+5n+1f(n) = 3n^3 + 2n^2 + 5n + 1؟

التدوين المبسط هو O(n3)O(n^3).

37
New cards

ما هو تدوين Big O للدالة F(n)=6n2+100n+3000F(n) = 6n^2 + 100n + 3000؟

O(n2)O(n^2).

38
New cards

ما هو تدوين Big O للدالة الثابتة F(n)=4F(n) = 4؟

O(1)O(1).

39
New cards

اذكر أنواع الأشكال الثلاثة الشائعة للتدوين التقاربي.

تدوين big-O (الحد العلوي)، big-oldsymbol{ ext{ extohm}} (الحد السفلي)، و big-oldsymbol{ ext{ exttheta}} (الحد المتوسط).

40
New cards

رتب رتب التعقيد التالية من الأفضل إلى الأسوأ: O(n)O(n), O(1)O(1), O(n2)O(n^2).

الأفضل O(1)O(1)، ثم O(n)O(n)، ثم الأسوأ O(n2)O(n^2).

41
New cards

ماذا يمثل التعقيد O(N!)O(N!)؟

النمو المضروبي (Factorial).

42
New cards

ماذا يمثل التعقيد O(2n)O(2^n)؟

النمو الأسي (Exponential).

43
New cards

ما هو تصنيف الكفاءة لتعقيد O(nextlogn)O(n ext{ log } n)؟

يصنف ككفاءة "سيئة" (Bad) مقارنة بالخطي والجيد، ولكنه أفضل من التربيعي.

44
New cards

ما هو التعقيد الذي يعتبر "الأفضل" (Best) دائماً؟

التعقيد الثابت O(1)O(1).

45
New cards

ما هو نوع التعقيد للدالة F(n)=4extlog2(n)+40F(n) = 4 ext{log}_2(n) + 40؟

O(extlog2n)O( ext{log}_2 n).

46
New cards

اذكر ثلاثة أنواع من المشكلات المهمة في الحوسبة.

الفرز (Sorting)، البحث (Searching)، ومعالجة النصوص (String processing).

47
New cards

ما هي المشكلات التي تتعلق بالنقاط والخطوط والمضلعات؟

المشكلات الهندسية (Geometric problems).

48
New cards

ماذا تسمى المشكلات التي تتعلق بالأشياء والرسوم البيانية؟

مشاكل الرسم البياني (Graph problems).

49
New cards

اذكر اثنين من نماذج (Paradigms) الخوارزميات.

الخوارزميات الجشعة (Greedy Algorithms) وفلسفة فرق تسد (Divide and Conquer).

50
New cards

ما هو النموذج الذي يعتمد على البحث الشامل؟

البحث بالقوة الغاشمة (Brute-Force search).

51
New cards

اذكر مثالاً لنماذج خوارزميات مستوحاة من البيئة.

الخوارزميات المستوحاة من الطبيعة (Nature-inspired Algorithms).

52
New cards

ما هو الفرق بين F(n)F(n) و S(n)S(n) في خوارزمية جمع مصفوفتين (nimesnn imes n

كلاهما يعتمد على n2n^2 كونه تكرار متداخل ومساحة تخزين مصفوفة.

53
New cards

في الصفحة 33، ما هو تعقيد F(n)=2n3+3n2+100nF(n) = 2n^3 + 3n^2 + 100n؟

O(n3)O(n^3).

54
New cards

كيف يتم تبسيط تدوين Big O؟

عن طريق إسقاط الحدود الأقل أهمية والمعاملات الثابتة.

55
New cards

ما هو تعريف مشاكل التوافق (Combinatorial problems)؟

هي واحدة من أنواع المشكلات المهمة المذكورة في تصنيفات الخوارزميات (الصفحة 37).

56
New cards

ماذا يدرس تحليل الخوارزميات فيما يخص الشبكة؟

يدرس الوصول إلى الشبكة (Network Access) كجزء من استهلاك الموارد.

57
New cards

ماذا يدرس تحليل الخوارزميات فيما يخص الطاقة؟

استهلاك الطاقة (Power Consumption).

58
New cards

ما هو الغرض من استخدام Pseudocode؟

هو وسيلة لتمثيل الخوارزمية تمزج بين اللغة الطبيعية وهياكل لغة البرمجة.

59
New cards

لماذا نستخدم التحليل التقاربي لوصف أداء الخوارزمية؟

لأنه يركز على الجزء المهم من وقت تشغيل الخوارزمية مع نمو حجم المدخلات.

60
New cards

ما هي الموارد التي يستهلكها البرنامج ويجب مراقبتها؟

الوقت والبايتات (Time and Bytes).