O(g(n))
f(n)
cg(n)
f(n)
:
0
n
n
0
c
,
0
n =
نماد
O
( Big– O )
➢
بزرگ امگای نماد
(
Ω
)
➢
نماد
تتای
بزرگ
(
θ
)
ریاضی تعریف
:
))
(
(
)
(
)
(
)
(
)
(
0
,
, 2
1
0
2
1
0 n
g
n
f
n
g
c
n
f
n
g
c
n
n
c
c
n
=
))
(
(
)
(
)
(
)
(
:
0
, 0
0 n
g
n
f
n
cg
n
f
n
n
c
n
=
ریاضی تعریف
:
رياضي تعريف
:
31
32.
مجانبی نماد
o
و
کوچک
f(n)=o(g(n))
مثبت وصحیح ثابت ازاء به اگر
n0
ازاء به و
هر
c
دلخواه و مثبت
باشیم داشته
:
f(n)| c |g(n)| n n0 c
f(n)= (g(n))
مثبت و صحیح ثابت ازاء به اگر
n0
ازاء به و
هر
c
دلخواه و مثبت
باشیم داشته
:
f(n)| c |g(n)| n n0 c
اگر
f(n)=o(g(n))
،باشد
f(n)
بهتری تابع
(
کوچکتری
)
از
g(n)
بود خواهد
.
اگر پس
f(n)=o(g(n))
در
این
صورت
f(n) (g(n))
=
→
n
n
f
n
g
)
(
)
(
lim
32
k>0 g(n)=(f(n))
0 g(n)=o(f(n))
f(n)=o(g(n))
گیری می نظردر ثابت مقدار یک را حلقه دستور تنها اجرای زمان
م
مثال
است مطلوب
محاسبه
ی
اجرا زمان
ی
تكرار حلقه
For (i = 1 ; i <= n ; i++)
m = m + 6;
حل
)
(
)
1
1
(
)
1
(
1 1
n
O
n
c
n
c
c
c
R
c
n
i
n
i
=
=
+
−
=
=
= =
42
43.
مثال
است مطلوب
محاسبه
ی
اجرا زمان
ی
تكرارحلقه
For(int i=1; i<=n; i++)
For(j=1; j<=n; j++)
m+=6;
حل
43
2 2
1 1 1 1 1
( ) ( 1 1) 1 ( 1 1) ( )
n n n n n
i j i i i
T n c c n cn cn cn n cn O n
= = = = =
= = − + = = = − + = =
44.
دوم روش
44
For(int i=1;i<=n; i++)
For(j=1; j<=i; j++)
m+=6;
2
1 1 1 1 1
( 1)
( ) ( 1 1) ( )
2
n i n n n
i j i i i
n n
T n c c i ci c i c O n
= = = = =
+
= = − + = = = =
مثال
T(n)=
c₁ n=1
2T(n-1)+c₂ n>1
void hanoi (int n, int from, int to, int help)
{
if (n == 1)
{
cout << n <<":"<< from << “-->"<<to<<endl;
return;
}
else
{
hanoi ( n-1,from,help,to );
cout << n <<":"<< from << “-->"<<to<<endl;
hanoi( n-1, help, to, from );
}
}
64
65.
65
مثال
(
ادامه
)
تابع اجرا برايالزم زمان
n , hanoi
ورودی تابع اجرا براي الزم زمان
n , hanoi
ورودی
تابع اجرا براي الزم زمان
n-1, hanoi
ورودی تابع اجرا براي الزم زمان
n-1, hanoi
ورودی
│ T(n) = 2 × T (n - 1) + C2
│ T(1) = C1
65
c₁ n=1
2T(n-1)+c₂ n >1
T(n)=
زمانی مرتبه اصلیقضیه
( ) ( / ) ( ), , 1
T n aT n b f n a b
= +
log log
log log
1
log
0
0
( ) ( ) ( )
( ) ( log ( )) ( ) ( log ( ))
( ( )) ( ) ( )
a a
b b
a a
b b
a
b
k k
for some
for some
n if f n n
T n n n if f n n n
f n if f n n
−
+
+
=
= =
=
باشد زیر صورت به بازگشتی رابطه یک اگر
:
ب خواهد برابر مستقیم طور به فوق بازگشتی رابطه زمانی مرتبه صورت این در
با ود
69
70.
زمانی مرتبه اصلیقضیه از هاییمثال
T(n)=
C n=1
2T(n/2)+1 n >1
a=2, b=2
)
(
)
(
)
(
2
2
log
n
n
n
T
=
=
70
log log
log log
1
log
0
0
( ) ( ) ( )
( ) ( log ( )) ( ) ( log ( ))
( ( )) ( ) ( )
a a
b b
a a
b b
a
b
k k
for some
for some
n if f n n
T n n n if f n n n
f n if f n n
−
+
+
=
= =
=
71.
زمانی مرتبه اصلیقضیه از هاییمثال
3
8 ( / 2) log 1
( )
1 1
T n n n n n
T n
n
+ +
=
a=8 ،b=2
3
( ) ( log )
T n n n
=
71
log log
log log
1
log
0
0
( ) ( ) ( )
( ) ( log ( )) ( ) ( log ( ))
( ( )) ( ) ( )
a a
b b
a a
b b
a
b
k k
for some
for some
n if f n n
T n n n if f n n n
f n if f n n
−
+
+
=
= =
=
72.
زمانی مرتبه اصلیقضیه از هاییمثال
7
10 ( / 3) 5 3 1
( )
1 1
T n n n n
T n
n
+ +
=
a=10 ،b=3
)
(
)
( 7
n
n
T
=
72
log log
log log
1
log
0
0
( ) ( ) ( )
( ) ( log ( )) ( ) ( log ( ))
( ( )) ( ) ( )
a a
b b
a a
b b
a
b
k k
for some
for some
n if f n n
T n n n if f n n n
f n if f n n
−
+
+
=
= =
=
73.
زمانی مرتبه اصلیقضیه از هاییمثال
73
1
)
3
2
(
)
( +
=
n
T
n
T
2
)
3
(
3
)
( n
n
T
n
T +
=
m
n
n
n
T
n
T 2
),
log(
)
(
2
)
( =
+
=
log log
log log
1
log
0
0
( ) ( ) ( )
( ) ( log ( )) ( ) ( log ( ))
( ( )) ( ) ( )
a a
b b
a a
b b
a
b
k k
for some
for some
n if f n n
T n n n if f n n n
f n if f n n
−
+
+
=
= =
=
74.
زمانی مرتبه اصلیقضیه از هاییمثال
74
))
(log(
)
(
1
)
3
2
(
)
( n
n
T
n
T
n
T
=
+
=
)
(
)
(
)
3
(
3
)
( 2
2
n
n
T
n
n
T
n
T =
+
=
))
log(
log
(log
)
(
2
),
log(
)
(
2
)
( n
n
n
T
n
n
n
T
n
T m
=
=
+
=
2
2
2
),
log(
),
(
)
2
(
)
(
m
m
m
n
n
m
n
T
T
m
S =
=
=
=
=
))
log(
log
)
(log(
)
(
))
log(
(
)
(
)
2
(
2
)
(
n
n
n
T
m
m
m
S
m
m
S
m
S
=
=
+
=
log log
log log
1
log
0
0
( ) ( ) ( )
( ) ( log ( )) ( ) ( log ( ))
( ( )) ( ) ( )
a a
b b
a a
b b
a
b
k k
for some
for some
n if f n n
T n n n if f n n n
f n if f n n
−
+
+
=
= =
=
75.
بازگشتی روابط حلدر متغیر تغییر از استفاده
شکلی به را بازگشتی رابطه مناسب متغیر تغییر یک با توان می اوقات گاهی
که مطلوب
نمود تبدیل ،است حل قابل دیگر هایروش با
.
،مثال
کرد فرض توانمی
n=2k
( ) ( ) 1
T n T n
= +
( ) (log ) ( ) (log log )
S k k T n n
= → =
75
( ) ( / 2) 1
S k S k
= +
/2
(2 ) (2 ) 1 ( ) (2 )
k k k
T T S k T
= + → =
ت نام تغییر
ابع
76.
تمرین
بیاورید بدست رازیر بازگشتی رابطه زمانی مرتبه
.
( ) ( )
2 3
( ) 4 ( ) log loglog
T n T n n n
= +
76
77.
77
100
99
100
99
log log 1.00221.0022 1.0022
log
( ) 100 ( ) log( !)
99
log( !) ( log( )) ( ) 100 ( ) log( )
99
, ( ) ( ) log( ) ( )
( ) ( )
a
b
n
T n T n
n
n n n T n T cn n
n n n f n o n n o n
T n n
= +
= = +
= = = =
=
78.
78
8
9
log 0.95
( )8 ( ) log( )
9
( ) log( ) ( )
( ) ( ( )) ( log( ))
n
T n T n n
f n n n n n
T n f n n n
= +
= =
= =
79.
79
2
2 2
( )4 ( ) 5 log( ) 6
2
( ) ( ) ( ) ( log( ))
n
T n T n n n n
f n n T n n n
= + + +
= =
80.
درجه ناهمگن وهمگن بازگشتی روابط
1
،
2
،
...
درجه همگن بازگشتی رابطه
k
آن در که باشدمی زیر صورت به
k
و
ضرایب
a
ثابت مقادیر
هستند
:
درجه همگن بازگشتی رابطه مثال
2
:
پذیرد می صورت مشخصه معادله کمک به روابط گونه این کلی حل راه
.
1 2
( ) ( 1) ( 2) ... ( )
k
T n aT n a T n a T n k
= − + − + + −
80
1 2
( ) ( 1) ( 2)
(0) , (1)
T n aT n bT n
T t T t
= − + −
= =
81.
درجه همگن بازگشتیروابط حل
2
فرض با
T(n)=xn
،
داشت خواهیم را زیر مشخصه معادله
:
هایریشه آوردن بدست و معادله این حل با
x1,x2
داشت خواهیم
:
که
c1
و
c2
ن پیدا را آنها اولیه مقادیر و اصلی رابطه از توانمی که هستند هاییثابت
مود
.
81
1 2
2
0
n n n
x ax bx
x ax b
− −
= +
− − =
1 1 2 2
( ) n n
T n c x c x
= +
1 2
( ) ( 1) ( 2)
(0) , (1)
T n aT n bT n
T t T t
= − + −
= =
82.
مثال
:
فیبوناچی سری
int Fib(intn)
{
if (n<=1)
return n;
return Fib(n-1)+Fib(n-2);
}
82
( ) ( 1) ( 2)
(0) 0, (1) 1
0,1, 2, 3, 5, 8,13,...
f n f n f n
f f
= − + −
= =
( ) ( 1) ( 2) 1
(0) 0, (1) 1 1
T n T n T n n
T T n
= − + −
= =
83.
مثال
:
فیبوناچی سری
83
( )( 1) ( 2) 1
(0) 0, (1) 1 1
T n T n T n n
T T n
= − + −
= =
2
1 0
x x
− − = →
1 2
1 5 1 5
( )
2 2
n n
T n c c
+ −
= +
1 5
( )
2
n
T n
+
=
1 2
1 5 1 5
,
2 2
x x
+ −
= =
84.
درجه همگن بازگشتیروابط حل
2
فرض با
T(n)=xn
،
داشت خواهیم را زیر مشخصه معادله
:
فوق معادله اگر
مضاعف ریشه
داشت خواهیم ،باشد داشته
:
84
1 2
2
0
n n n
x ax bx
x ax b
− −
= +
− − =
1 1 2 1
( ) n n
T n c x c nx
= +
1 2
( ) ( 1) ( 2)
(0) , (1)
T n aT n bT n
T t T t
= − + −
= =
85.
بازگشتی روابط حل
ناهمگن
که
f(n)
باشدمیدلخواه تابعی
.
گردد حل سپس و شده تبدیل همگن رابطه به رابطه این باید معموال
.
کتاب ضمیمه بخش به بیشتر تمرین و مطالعه برای
نیپولیتان
کنید مراجعه
.
85
1 2
( ) ( 1) ( 2 )
) ... ( (
)
k
T n aT n a T n a T n
k f
n
= − + − + + − +
86.
اصلی قضیه اثبات
86
() ( / ) ( ), , 1
T n aT n b f n a b
= +
2
2
2
3 2
3 2
3 2
log 1
0
( ) ( ) ( )
( ) ( ) ( )
( ) ( ) ( )
( ) ( ) ( ) ( )
( ) ( ) ( ) ( )
( ) ( )
n
b
k i
k i
i
n
T n aT f n
b
n
n
b
a aT f f n
b b
n n
a T af f n
b b
n n n
a aT f af f n
b b b
n n n
a T a f af f n
b b b
n n
a T a f
b b
−
=
= +
= + +
= + +
= + + +
= + + +
= +
87.
87
2
2
2
3 2
3 2
32
log 1 log 1
log
0 0
( ) ( ) ( )
( ) ( ) ( )
( ) ( ) ( )
( ) ( ) ( ) ( )
( ) ( ) ( ) ( )
( ) ( ) (1) ( )
1 l
n n
b b
n
b
k i i
k i i
i i
k
n
T n aT f n
b
n
n
b
a aT f f n
b b
n n
a T af f n
b b
n n n
a aT f af f n
b b b
n n n
a T a f af f n
b b b
n n n
a T a f a T a f
b b b
n
k
b
− −
= =
= +
= + +
= + +
= + + +
= + + +
= + = +
= → =
ogn
b
88.
88
log 1 log1
log log
0 0
log log
log log
log
log 1 log 1
0 0
log
log
( ) ( ) ( )
( ) (1) ( ) (1) ( )
(1) ( )
( ) ( ) ( )
( ) ( )
(
n n
b b
n a
b b
a a
b b
a a
b b
a
n n b
b b
a
b
i i
i i
i i
i i
i i
i i
n
T n aT f n
b
n n
T n a T a f n T a f
b b
n T n
if f n n f n cn
n n
a f a c
b b
a
c n
b
− −
= =
−
−
− −
= =
−
= +
= + = +
=
=
=
log 1 log
log
log
0
1 2
1
) ,
1
1
1
1
n n
b b
a
b
a a
b b
i
i
n
n n
A a
c n A
A b
a
a a a
a
−
−
− −
=
− −
−
= =
−
−
= + + + +
−
اول حالت اثبات
89.
89
log 1 log1
log log
0 0
log log
log log
log
log 1 log 1
0 0
log
log
( ) ( ) ( )
( ) (1) ( ) (1) ( )
(1) ( )
( ) ( ) ( )
( ) ( )
(
n n
b b
n a
b b
a a
b b
a a
b b
a
n n b
b b
a
b
i i
i i
i i
i i
i i
i i
n
T n aT f n
b
n n
T n a T a f n T a f
b b
n T n
if f n n f n cn
n n
a f a c
b b
a
c n
b
− −
= =
−
−
− −
= =
−
= +
= + = +
=
=
=
log 1 log
log log log
0
log log
log log log
log log log log
1
) ( )
1
( ) ( ) ( )
( )
n n
b b
a a n
b b b
a
b
a a
b b
n n a
b b b
a n a a
b b b b
i
i
A
c n n A
A
a n n
A T n n
b b n
−
− −
−
=
− − −
−
= =
−
= = = =
90.
90
log log
log 1log 1
log log
0 0
log
log 1 log 1
log
0 0
( ) ( log ( )) ( ) log ( )
( ) (1) ( ) (1) ( )
( ) ( log ( )) ( ) ( ) log ( )
log ( )
a a
b b
n n
b b
n a
b b
a
n n b
b b
a
b
k k
i i
i i
i i
k i i k
i i i
i i
k
f n n n f n cn n
n n
T n a T a f n T a f
b b
n n n
if f n n n a f a c
b b b
c n n
− −
= =
− −
= =
=
= + = +
=
=
log 1
log
log
0
log log
1
log log
log 1
( )
log ( ) log log ( ) , 1
( ) ( log ( ))
n
b
a
b
a
b
a a
b b
a b
b b
a
b
i
i
k n k
b
k
a
b
a a
c n n c n n
b a
T n n n
−
=
+
+
= = = =
=
دوم حالت اثبات