è ² è Û ( ? ã èü N èã U è M p Xâ Jù èä ? 8 N W è è è …...è T Nù ù èã èü N...
Transcript of è ² è Û ( ? ã èü N èã U è M p Xâ Jù èä ? 8 N W è è è …...è T Nù ù èã èü N...
: فصل معرفی الگوریتم های مرتب سازی
و تحلیل پیچیدگی آنها
:انواع حافظه اصلی -۱جانبی -۲
انواع الگوریتم های مرتب سازی داخلی -۱خارجی -۲
...ادامه انواع الگوریتم های مرتب سازی اگر : مثال
باشد سلول ۱۰۰ دارای ، حافظه - باشد عنصر ۱۱۰ ، شدن مرتب برای اطالعاتی اقالم تعداد - باشد می خارجی جا این در سازی مرتب مکانیزم -
انواع مرتب سازی : ایدار پ.۱: دار ناپ.۲
: مثال Number 17 5 13 21 13 2 14Location 1 2 3* 4 5** 6 7
After Sort
Number 2 5 13 13 14 17 21Location 6 2 3 5 7 1 4
، حفظ شده است ۱۳مکان اصلی اولین
مرتب سازي درج ساده یا
. مي باشد پايدارسازي ، نوع مرتب
آرایه الف
بآرایه
: اجزای الگوریتم مرتب سازی درجی تابع .۱تابع .۲
... ادامه اجزای الگوریتم مرتب سازی درجی : پیاده سازی تابع ١
نام آرایه تعداد عناصر آرایه اضافه شود aعنصر
... ادامه - پیاده سازی تابع اجزای الگوریتم مرتب سازی درجی : مثال
در آرایه فوق ، عناصر آرایه چه شکلی خواهند داشت ؟ ۱۵پس از درج عدد
... ادامه - پیاده سازی تابع اجزای الگوریتم مرتب سازی درجی نام آرایه تعداد عناصر آرایه اضافه شود aعنصر
N=1 N=2 N=3 N=41 13 17 25list
If a=15
N=1 N=2 N=3 N=41 13 17 25
i=i-1
list
N=1 N=2 N=3 N=41 13 17 25
i=i-1
listi=i-1
N=1 N=2 N=3 N=41 13 15 17 25list
Step 0
Step 1
Step 2
Step 3a
... ادامه - پیاده سازی تابع اجزای الگوریتم مرتب سازی درجی : الگوریتم پیچیدگی
. آید می بدست ، باشد مرتب آرایه اگر - . آید می بدست ، نباشد مرتب آرایه اگر -
... ادامه -اجزای الگوریتم مرتب سازی درجی : Insertion _ Sortده سازي تابع پیا.۲
: جی پیچیدگی الگوریتم مرتب سازی در ... ادامه پياده سازي تابع -اجزاي الگوريتم مرتب سازي درجي
Insert( list , n , a ) { i =n While ( a < list[ i ]){ list[i+1]=list[ i ]i=i-1; } list[ i+1 ] = a; }
عنصر دارای اضافه نمودن بدترین حالت بهترین حالت
مرتبه نهایی الگوریتم مرتب سازی درجی
...ادامه مرتب سازي درج ساده يا
حالتی است که آرایه مرتب باشد : بهترین حالت 2. لیست بصورت نزولی باشد و بخواهیم صعودی شود : بدترین حالت 2: حالت متوسط
) Insertتابع ( هزینه درج یک عنصر ) Insertion _ Sortتابع ( عنصر nهزینه درج
ادغام دو آرايه
... ادامه ادغام دو آرايه سوم آرایه مرتبه ، باشد مرتب آرایه اگر -
: آنگاه ، باشد یکسان آرایه اندازه ، باشد اگر -
... ادامه ادغام دو آرايه
،مرتب نباشد آرایه اگر سوم برابر با مرتبه آرایه
... ادامه ادغام دو آرايه : نکته . نمی باشدسازی ، مرتب عمل
... ادامه ادغام دو آرايه شروع آریه اول
شروع آریه دوم M+1
الگوریتم مرتب سازی : اجزای الگوریتم
گوریتم ال.۱یتم گور لا.۲
)ادغام ( الگوریتم -۱
5 6 7 83 4 9 103
...ادامه ) ادغام ( الگوریتم 5 6 7 8
3 4 9 10
3
...ادامه ) ادغام ( الگوریتم 2 3 5 6
4 7 8 9
2
...ادامه ) ادغام ( الگوریتم
لگوريتم ا.۲
پیچیدگی الگوریتم 17 19 20
17 21 22
17 17
... ادامه - پیچیدگی الگوریتم : مرتبه الگوریتم -۱
بهترین حالت ) الف سوم آرایه ایجاد و ادغام مرتبه ، باشد مرتب آرایه اگر -
: آنگاه ، )باشد یکسان آرایه اندازه ( باشد اگر * حالت بدترین ) ب
2 سوم آرایه ایجاد و ادغام مرتبه ، نباشد مرتب آرایه اگر -2 : آنگاه ، )باشد یکسان آرایه اندازه ( باشد اگر *
... ادامه - پیچیدگی الگوریتم : مرتبه الگوريتم -٢
با هم و الگوریتم ۲مرتبه
بهترین حالت
مرتبه الگوریتم مرتبه الگوریتم
بدترین حالت
مرتبه الگوریتم مرتبه الگوریتم
...ادامه با هم و الگوريتم ٢مرتبه
الگوریتم مرتب سازی سریع . شود مي انتخاب محور عنصر عنوان به اول عنصر -
. شوند مي مقایسه محور با لیست عناصر تمام - . گیرد می قرار چپ سمت باشد کوچکتر محور از عنصري اگر - . گیرد مي قرار راست سمت باشد بزرگتر محور از اگرعنصری -
... ادامه الگوریتم مرتب سازی سریع لیست ۲ محور عنصر از بزرگتر و کوچکتر عناصر -
.آورند مي وجود به را مجزا بلیق عملیات آمده بدست هاي لیست از هریك براي -
شود می تکرار
محور Pivot... ادامه الگوریتم مرتب سازی سریع
... ادامه الگوریتم مرتب سازی سریع :اجزای الگوریتم مرتب سازی سریع
) ( الگوریتم .۱) ( وریتم الگ.۲
.. .ادامه الگوریتم مرتب سازی سریع 15 7 12 36 5
محور
) (تقسیم نمودن آرایه الگوریتم -۱
.. .ادامه الگوریتم مرتب سازی سریع شروع اندیس
پایان اندیس الگوریتم مرتب سازی -۲
.. .ادامه الگوریتم مرتب سازی سریع پیچیدگی الگوریتم مرتب سازی سریع
نیمه سمت چپ محور راست محور نیمه سمت مرتبه
... ادامه -الگوريتمپيچيدگي الگوریتم مرتب سازی سریع ، باشد ۲/۳ راست سمت آرایه و ۱/۳ چپ سمت آرایه ، شود فرض اگر -
: داریم را زیر پیچیدگی
... ادامه -الگوريتمپيچيدگي الگوریتم مرتب سازی سریع ۹/۱۰ راست سمت آرایه و ۱/۱۰ چپ سمت آرایه ، شود فرض اگر -
: داریم را زیر پیچیدگی ، باشد
... ادامه -الگوریتمپیچیدگی الگوریتم مرتب سازی سریع : باشد کوچکتر همه از که شود انتخاب محوری ، شود فرض اگر -
ین عدد کوچکتر
سایر اعداد
: باشد بزرگتر همه از که شود انتخاب محوری ، شود فرض اگر -
بزگترین عدد سایر اعداد
... ادامه -الگوریتمپیچیدگی الگوریتم مرتب سازی سریع : با است برابر آن مرتبه ، باشد مرتب آرایه اگر
شود می تا ۱ از اعداد جمع
... ادامه -الگوریتمپیچیدگی الگوریتم مرتب سازی سریع : نتیجه
بدترین عسری سازی مرتب الگوریتم ، باشد مرتب آرایه که زمانی - . دارد را یعنی پیچیدگی
بهترین یعسر سازی مرتب الگوریتم ، نباشد مرتب آرایه که زمانی - . دارد را یعنی پیچیدگی
الگوریتم مرتب سازی شمارشی : الزم است شرط ۲برای این نوع مرتب سازی
.باشند عدد صحیح نوع همه عناصر از .۱ .کوچکتر یا مساوی هستند عددی مثل عناصر از فرض کنیم همه .۲
... ادامه -الگوریتم مرتب سازی شمارشی
2 1... ه ادام -الگوریتم مرتب سازی شمارشی 3 4 5 6 7 8
0 0 0 0 0 0
2 0 2 3 0 10 1 2 3 4 5
2 2 4 7 7 80 1 2 3 4 5
0 30 1 2 3 4 5 6 7 8
60 1 2 3 4 5 مي شود ٦معادل يكي كم مي شود و
c
c
c
c
B
... ه ادام -الگوریتم مرتب سازی شمارشی . می باشد پایدارالگوریتم شمارشی ،
اگر حلقه آخر در الگوریتم شمارشی ،گر پیاده سازی شود ، دی صعودیبصورت
. پایدار نمی باشد
... ه ادام -الگوریتم مرتب سازی شمارشی ،عددهای تکراری الگوریتم شمارشی برای
.بسیار خوب می باشد اعداد بزرگ الگوریتم شمارشی برای
. مناسب نمی باشد
... ه ادام -الگوریتم مرتب سازی شمارشی : در حالت کلی پیچیدگی این الگوریتم برابر است با -
:باشد و اگر
مرتبه اجرایی آرایه اندازه آرایه
... ه ادام -الگوریتم مرتب سازی شمارشی : سوال
حالی در ، است شده ، شمارشی الگوریتم چرا رینبهت که شده ثابت قبلی های الگوریتم در که
؟ باشد می پیچیدگی
شعاعی الگوریتم مرتب سازی .وندشمرتب مي کم ارزش ترین مکانشان عناصربراساس ابتدا -.می شوند مرتب ارزش بیشتر اساس مکان با سپس بر -. پیدا می کند ادامه مکان پر ارزش ترین عملیات فوق تا -.دکردناولیه از این مکانیزم استفاده می حسابهای ماشین -
... ادامه شعاعی الگوریتم مرتب سازی
می کند اعداد را مرتبستون به ستون این الگوریتم از رقم یکان
:بشماریم را ۹تا ۰فرض کنید ، فقط بتوانیم اعداد : در نظر بگیرید روبرو را اعداد
... ادامه شعاعی الگوریتم مرتب سازی
۱ستون ۲ستون ۳ستون ۴ستون
... ادامه شعاعی الگوریتم مرتب سازی : الگوریتم اجرایی مرتبه
تعداد ارقام تعداد اعداد پیچیدگی هر مرحله