انت هنا الان : شبكة جامعة بابل > موقع الكلية > نظام التعليم الالكتروني > مشاهدة المحاضرة

امثلة عملية

الكلية كلية تكنولوجيا المعلومات     القسم قسم البرامجيات     المرحلة 3
أستاذ المادة اسراء هادي علي الشمري       10/10/2013 08:16:39
المحاضرة الثانية

مثال3/ اعداد فيبوناتشي ( Fibonacci numbers).
متتابعة فيبوناتشي للاعداد تبدأ كالاتي:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ….
حيث ان كل حد جديد يتم الحصول عليه من خلال جمع الحدين السابقين، فاذا كان F0 يمثل الحد الاول في المتتابعة فان F0=0 و F1=1 و بصورة عامة:

Fn = Fn - 1 + Fn - 2 , n?2

Algorithm fibonacci (n):
Input: a nonnegative integer n.
Output: fib, the nth term of the fibonacci sequence.
1. if n ? 1 then
2. fib n
3. else
4. fnm1 0
5. fnm2 1
6. for i 2 to n
7. fib fnm1 + fnm2
8. fnm1 fnm2
9. fnm2 fib
10. end for
11. end if
12. return fib

يتصف مثال المسألة بـ n
تعقيدات الخزن:- تتطلب هذه الخوارزمية اربع خلايا خزنية لخزن قيم fib و fnm1 و fnm2 و i وهو خزن ثابت لا يعتمد على خصائص المثال.

Sfibonacci(n)= 0


تعقيدات الوقت باستخدام عد الخطوات:- يجب اعتبار حالتين في هذه الطريقة:

الحالة الاولى :- عندما n=0 او n=1 فان عدد الخطوات يساوي 3.
الحالة الثانية :- عندما n>1 فان عدد الخطوات يساوي 4n+1.









مثال4/ مسألة حساب المتوسطات السابقة (Prefix averages) لمجموعة من الاعداد.
مفهوم المسألة:- اذا كان لدينا مصفوفة معينة X مخصصة لخزن n من الاعداد الصحيحة، فالمطلوب في مسألة المتوسطات السابقة حساب مصفوفة اخرى ولتكن A بحيث ان العنصر A[i] يمثل متوسط قيم العناصر من X[1] الى X[i] لقيم i من 1 الى n وهذا يعني


الخوارزمية التالية تقوم بحل هذه المسألة:

Algorithm prefixAverages(X):
Input: An n-element array X of numbers.
Output: An n-element array of numbers A such that
A[i] is the average of elements
X[1],…,X[i].
1. for i 1 to n
2. a 0
3. for j 1 to i
4. a a + X[j]
5. end for
6. A[i] a /i
7. end for
8. return array A

يتصف مثال المسألة بـ n

تعقيدات الوقت باستخدام عد الخطوات:
1. ……. n+1
2. ……. n
3. …….
4. …….
6. ……. n
8. ……. n

TprefixAverages(n)= n2 + 6n +1

واجب/ اعد صياغة الخوارزمية prefixAverages لتصبح تعقيداتها خطية وليست تربيعية.


المادة المعروضة اعلاه هي مدخل الى المحاضرة المرفوعة بواسطة استاذ(ة) المادة . وقد تبدو لك غير متكاملة . حيث يضع استاذ المادة في بعض الاحيان فقط الجزء الاول من المحاضرة من اجل الاطلاع على ما ستقوم بتحميله لاحقا . في نظام التعليم الالكتروني نوفر هذه الخدمة لكي نبقيك على اطلاع حول محتوى الملف الذي ستقوم بتحميله .