الگوریتمستان

برنامه‌نویسی، طراحی الگوریتم و حل مسئله‌های الگوریتمی

 
در صورت ناخوانا بودن نوشته‌ها، از مرورگر دیگری استفاده کنید.
نوشته‌ها با برچسب Python نوشته‌ها با برچسب Python - الگوریتمستان الگوریتمستان الگوریتمستان
نوشته‌ها با برچسب «

Python

»

الگوریتم فلوید-وارشال (Floyd-Warshall) یک الگوریتم مبتنی بر روش برنامه‌نویسی پویا برای محاسبه‌ی کوتاهترین مسیر بین هر دو جفت گره گراف‌های وزن‌دار است. دو الگوریتم رایج دایکسترا و بلمن-فورد روش‌های محاسبه‌ی کوتاهترین مسیر از مبدأ ثابت هستند که در صورت تکرار آنها به ازای هر گره عملکردی همانند الگوریتم فلوید-وارشال دارند. اما این الگوریتم ویژگی‌هایی دارد که آن را برجسته می‌کند:

ادامه ...

روش مرتب‌سازی ادغامی (Merge Sort) یک روش مرتب‌سازی مبتنی بر مقایسه‌ی عناصر با استفاده از روش تقسیم و غلبه است. این روش از مراحل بازگشتی زیر تشکیل یافته است:

1- آرایه را به دو زیرآرایه با اندازه‌ی تقریبا یکسان تقسیم کن.

2- دو زیرآرایه را به روش مرتب‌سازی ادغامی مرتب کن.

3- دو زیرآرایه‌ی مرتب‌شده را ادغام کن.

ادامه ...

روش مرتب‌سازی سریع (Quick Sort) یکی از الگوریتم‌های مشهور مرتب‌سازی داده‌ها است. این الگوریتم طی مراحل بازگشتی زیر یک روش تقسیم و غلبه برای مرتب کردن داده‌ها ارائه می‌نماید:

1- انتخاب عنصر محوری: یکی از عناصر آرایه به عنوان عنصر محوری (pivot) - به عنوان مثال عنصر اول - انتخاب می‌شود.

2- تقسیم آرایه: چینش عناصر آرایه به قسمی تغییر داده می‌شود که تمامی عناصر کوچکتر یا مساوی محور در سمت چپ آن و تمامی عناصر بزرگتر در سمت راست آن قرار بگیرند. این دو قسمت زیر آرایه‌های چپ و راست نامیده می‌شوند.

ادامه ...

روش مرتب‌سازی درجی (Insertion Sort) یکی از روش‌های مقدماتی مرتب‌سازی مبتنی بر مقایسه‌ی عناصر است که در مقایسه با روش‌های دیگر بیشتر مورد توجه قرار دارد.

قفسه‌ی کتابی را در نظر بگیرید که قصد دارید کتاب‌ها را بر اساس عنوان و به ترتیب حروف الفبا مرتب کنید. از یک سمت قفسه شروع به مرتب کردن می‌کنید. ابتدا کتاب دوم را با کتاب اول مقایسه کرده و در صورت لزوم جابجا می‌کنید. سپس کتاب سوم را از محل خود برداشته و در مقایسه با دو کتاب قبلی در محل مناسب قرار می‌دهید. به همین ترتیب کتاب‌های بعدی را نیز نسبت به کتاب‌های مرتب‌شده‌ی قبلی در محل مناسب درج می‌کنید تا به آخر قفسه برسید.

ادامه ...

روش مرتب‌سازی انتخابی (Selection Sort) یکی از روش‌های اولیه‌ی مرتب‌سازی بر اساس مقایسه‌ی عناصر است. این الگوریتم طی چند مرحله عناصر لیست را به صورت صعودی یا نزولی مرتب می‌کند. به این ترتیب که در هر مرحله با بررسی عناصر نامرتب، بزرگترین (یا کوچکترین) عنصر را پیدا کرده و به انتهای لیست منتقل می‌کند.

لیست اعداد زیر را در نظر بگیرید که باید به صورت صعودی (کوچک به بزرگ) مرتب شود:

  

2 8 4 1 7

ادامه ...

یکی از روش‌های مرتب‌سازی، روش مرتب‌سازی حبابی (Bubble Sort) است که به آن روش تعویض استاندارد (Standard Exchange) نیز می‌گویند. این روش شامل چند مرحله است که در هر مرحله یک عنصر از لیست به طور قطع در محل مناسب خود قرار می‌گیرد.

لیست زیر را در نظر بگیرید که می‌خواهیم به صورت صعودی (از کوچک به بزرگ) مرتب کنیم:

  

4  3  8  1  6  2

  

ادامه ...

الگوریتمستان در تلگرام

   

 

پیوند کوتاه:
برچسب‌ها
#آمادگی مسابقه برنامه‌نویسی #آمادگی مسابقه ACM #حل سوالات UVa Online Judge #گراف #کتابخانه قالب استاندارد ++C #مسأله‌های برنامه‌نویسی #جستجوی اول سطح #الگوریتم #آمادگی المپیاد کامپیوتر #محاسبات ریاضی #سوالات UVa Online Judge #حل سوالات Timus Online Judge #نمونه سوال مسابقه ACM #الگوریتم فلوید-وارشال #نمونه سوال فارسی مسابقات ACM #درخت‌ها #جستجوی اول عمق #نمونه سوال فارسی مسابقات برنامه‌نویسی #مسابقات برنامه‌نویسی #نمونه سوال فارسی مسابقه‌ی ACM #سوالات چالشی برنامه‌نویسی #آموزش ساختمان داده‌ها #برنامه‌نویسی ++C #ماتریس #نکات برنامه‌نویسی #الگوریتم‌های تقسیم و غلبه #منبع آموزشی #مسئله‌ی کوله‌پشتی #ترجمه فارسی سوالات کتاب Programming Challenges #مسابقات برنامه‌نویسی ACM #صف #الگوریتم‌های مرتب‌سازی #مسابقه برنامه نویسی #الگوریتم‌های مسیریابی #آموزش طراحی الگوریتم #حل سوالات ACM-ICPC #Python #تکنیک‌های طراحی الگوریتم #دانلود کتاب #ترجمه‌ی فارسی سوالات برنامه‌نویسی #تمرین طراحی الگوریتم #حل مسئله‌‌ی الگوریتمی #مسأله‌های الگوریتمی #وبلاگ #الگوریتم‌های کوتاهترین مسیر #پیمایش گراف #آموزش برنامه‌نویسی ++C #مسئله‌های الگوریتمی #درخت پوشا #معرفی وب‌سایت #کتاب الگوریتم #آموزش الگوریتم #سوالات مسابقات برنامه‌نویسی بیان #تمرین مسابقه برنامه‌نویسی #الگوریتم‌های گراف #الگوریتم‌های برنامه‌نویسی پویا #مسئله‌های برنامه‌نویسی #ساختمان داده #ترجمه‌ی فارسی سوالات ACM #الگوریتم دایکسترا #کتاب الکترونیکی #مسابقه برنامه‌نویسی #کتاب مسابقات برنامه‌نویسی #الگوریتم‌های عقبگرد #برنامه‌نویسی #حل سوالات مسابقات برنامه‌نویسی #تمرین مسابقه‌ی برنامه‌نویسی ای‌سی‌ام #سوالات برنامه‌نویسی #ویدئوی آموزشی #ترجمه‌ی فارسی سوالات UVa Online Judge #الگوریتم‌های حریصانه #الگوریتم‌های بازگشتی #نمونه سوالات مسابقه برنامه‌نویسی #سوالات مسابقات ACM-ICPC #تمرین المپیاد کامپیوتر