ترکیبیات، الگوریتم و علوم کامپیوتر

علوم رایانه، علمی است پیرامون الگوریتم و در ارتباط زیاد با ریاضیات و مهندسی کامپیوتر می باشد

ترکیبیات، الگوریتم و علوم کامپیوتر

علوم رایانه، علمی است پیرامون الگوریتم و در ارتباط زیاد با ریاضیات و مهندسی کامپیوتر می باشد

این وبلاگ برای توزیع منابعی که سال هاست با آن ها در ارتباط هستم راه اندازی شده است تا همه بتونن از دنیای زیبای ترکیبیات و الگوریتم لذت ببرن.
ممکن است که مباحث مطرح شده در این وبلاگ در سطوح مختلفی باشد از مباحث در حد مبتدی تا سطوح پیشرفته فلذا؛ توصیه من برای دانش آموزان راهنمایی استفاده از برچست مبتدی، برای دانش آموزان دبیرستانی استفاده از برچسب متوسط و برای دانش جویان کارشناسی استفاده از برچسب پیشرفته و برای دانش جویان کارشناسی ارشد استفاده از برچسب تحقیقاتی را می باشد.
جای بجث و ارائه مرجع های مختلف باز است و بنده از نظرات و بحث های شما خوشحال خواهم شد.
انتشار مطالب این وبلاگ به هیچ عنوان مانعی ندارد.
والسلام علی من اتبع الهدی

۱ مطلب در مرداد ۱۳۹۲ ثبت شده است

روش مرتب سازی ادغامی از الگوریتم تقسیم و حل (divide-and-conquer) و همچنین ادغام برای مرتب کردن داده‌ها استفاده می‌کند. در این الگوریتم مساله به چند جزء کوچک‌تر تقسیم می‌شود. هر کدوم از این قسمت‌ها رو به طور مجزا حل کرده، و با ترکیب اونها به مساله اصلی می‌رسیم. و اما طرح کلی مرتب سازی ادغام:

در این روش داده‌ها به دو قسمت مساوی تقسیم می‌شوند. و هر کدوم از این قسمت‌ها - به صورت بازگشتی - مرتب، و با ادغام آنها دادها بصورت کامل مرتب می‌شوند.اما توجه به این نکته ضروری است که اگر پس از یک بار تقسیم باز هم لیستهای ایجاد شده بزرگ باشند ، می توانیم برای هر زیر لیست مراحل بالا را دوباره انجام دهیم تا به زیر لیستهایی با تنها 1 عضو برسیم و واضح است که لیست تک عنصری خود مرتب است.


Merge sort algorithm diagram.svg.png




مرتب سازی سریع (Quick Sort) از جمله روشهای محبوب و با سرعت بالا برای مرتب کردن داده‌ها محسوب می‌شه. این روش هم مثل روش ادغام از تقسیم و حل (Divide and Conqure) برای مرتب کردن داده‌ها استفاده می‌کنه. به این ترتیب که داده‌ها رو به دو قسمت مجزا تقسیم، و با مرتب کردن اونها کل داده‌ها رو مرتب می‌کنه. برای اینکار یکی از داده‌ها (مثلاً داده اول) به عنوان محور انتخاب می‌شه. داده‌ها بر اساس محور طوری چینش می‌شن که همه داده‌های کوچک‌تر از محور سمت چپ و داده‌های بزرگ‌تر یا مساوی اون سمت راستش قرار می‌گیرن. با مرتب کردن دو قسمت به دست اومده کل داده‌ها مرتب می‌شن. در این حالت مثل روش ادغام نیازی به ادغام کردن داده‌ها نیست. چرا که قسمت سمت راست همگی از قسمت سمت چپ کوچک‌تر هستن و بالعکس. 





  • نوید ادهم