شبکه مرتبسازی: تفاوت میان نسخهها
محتوای حذفشده محتوای افزودهشده
جز ربات رده همسنگ: افزودن> رده:مهندسی کامپیوتر |
جز ربات: مرتبسازی ردهها؛ زیباسازی |
||
خط ۱:
[[
شبکه مرتب سازی یک مدل انتزاعی ریاضی شامل شبکه ای از سیمها و واحدهای مقایسه کننده است که برای مرتب سازی رشته ای از اعداد از آن استفاده می شود. هر مقایسه کننده دو سیم را به هم متصل میکند و مقادیر را با قرار دادن مقدار کوچکتر به یکی از سیمها و مقدار بزرگتر به سیم دیگر، مرتب می کند. اصلیترین تفاوت میان مرتب سازی شبکه ای و [[الگوریتمهای مرتب سازی]] مقایسه ای این است که ترتیب مقایسهها بدون در نظر گرفتن نتیجه مقایسههای قبلی، از قبل مشخص شده است. استقلال میان ترتیب مقایسهها برای اجرای موازی الگوریتمها مفید خواهد بود. علی رغم سادگی مدل آن، تئوری مرتب سازی شبکه ای بسیار پیچیده و دارای مفاهیم عمیقی است.
خط ۵:
یک شبکه مرتب سازی شامل دو عنصر است، مقایسه کنندهها و سیم ها. هر سیم دارای یک مقدار می باشد، و هر مقایسه کننده دو سیم را به عنوان ورودی و خروجی می گیرد. زمانی که دو مقدار وارد مقایسه کننده می شود، مقایسه کننده مقدار کوچکتر را در سیم بالاتر، و مقدار بزرگتر را در سیم پایین قرار می دهد. به شبکه ای از سیمها و مقایسه کنندهها که به طور صحیح تمام مقادیر ورودی را به صورت صعودی مرتب کنند یک شبکه مرتب سازی گفته می شود.
مراحل انجام یک مرتب سازی شبکه ای ساده در شکل زیر نشان داده شده است. فهم چگونگی صحیح عمل نمودن این شبکه مرتب سازی آسان است، این را مدنظر داشته باشید که مقایسه کنندهها مقدار بزرگ را به سیم پایین و مقدار کوچک را به سیم بالا منتقل می کنند. و در نهایت آخرین مقایسه کننده دو سیم میانی را مرتب می کند.
[[
===شبکههای درجی و انتخابی===
به راحتی می توان با استفاده از اصول درجی و انتخابی به صورت بازگشتی یک شبکه با اندازه دلخواه ایجاد کرد. با فرض این که یک شبکه مرتب سازی با اندازه n داریم، می توانیم با درج یک عدد اضافی به زیر شبکه مرتب شده ( با استفاده از اصول [[مرتب سازی درجی]])، یک شبکه مرتب سازی با اندازه n+
{|
|-
| [[
| [[
|}
ساختار این دو مرتب سازی شبکه ای بسیار شبیه یکدیگر است، با نمایش
{|
|-
| [[
| [[
| [[
|}
خط ۳۵:
اصل صفر و یک بیان میکند که یک شبکه مرتب سازی زمانی صحیح عمل کرده اگر بتواند رشته ای از صفرها و یکها که تعدادشان <math>2^n</math> است مرتب کند. با استفاده از این اصل می توان تعداد تستهای لازم برای مشخص کردن صحیح بودن شبکه را به طور چشمگیری کاهش داد، و هم چنین در ساختن شبکههای مرتب سازی مختلف موثر خواهد بود.
روش اثبات آن یک حالت خاص از نظریه بوریسیوس است که در سال
==مرتب سازی بهینه==
کارایی یک شبکه مرتب سازی را می توان با استفاده از اندازه کل آن ( تعداد مقایسه کنندههای استفاده شده)، یا با استفاده از عمقش (حداکثر تعداد مقایسه کننده هایی که در مسیر یک ورودی به خروجی قرار دارند)، اندازه گیری کرد. بهترین شبکه مرتب سازی شناخته شده، شبکه AKS است که از حروف اول کاشفان آن، اجتا، کاملوس، و سمیردای گرفته شده است. این شبکه دارای عمق O(log n) و اندازه O(n log n)
برای تعداد ورودیهای بین
==منابع==
* O.
* K.E.
* [[Thomas H. Cormen]]
* [[Donald Knuth|D.E. Knuth]]. ''[[The Art of Computer Programming]]''
* M. S.
==پیوند به بیرون==
خط ۶۰:
{{مرتبسازی}}
[[رده:مهندسی کامپیوتر]]▼
[[رده:الگوریتمهای مرتبسازی]]
▲[[رده:مهندسی کامپیوتر]]
[[da:Sorteringsnetværk]]
|