• مقالات آموزشی
    • آموزش برنامه نویسی
    • آموزش الگوریتم
    • آموزش شبکه های کامپیوتری
    • آموزش های عمومی
  • ترجمه مقاله
    • لیست ترجمه کامل مقالات
    • لیست ترجمه مفهومی مقالات
  • تحقیق و پژوهش
    • لیست داکیومنت پایان‌نامه
    • لیست داکیومنت سمینار
  • پیاده سازی
    • سی پلاس پلاس ++C
    • برنامه نویسی OpenGL
    • سی شارپ #C
    • پایتون Python
    • اندروید Android
    • پی اچ پی PHP
    • متلب Matlab
  • پاورپوینت
    • پاورپوینت الگوریتم های بهینه سازی
    • پاورپوینت شبکه‌های کامپیوتری
    • پاورپوینت مهندسی کامپیوتر
    • پاورپوینت یادگیری ماشین
    • پاورپوینت درس و تحقیق
    • قالب آماده پاورپوینت
  • فیلم آموزشی
    • لیست فیلم های آموزشی
  • قالب آماده
    • لیست قالب آماده HTML
  • دانلود رایگان
  • مجله پی استور
  • آموزش برنامه نویسی
  • آموزش الگوریتم
  • آموزش شبکه
  • آموزش عمومی

ورود

رمز عبور را فراموش کرده اید؟

هنوز عضو نشده اید؟ عضویت در سایت
  • قوانین
  • تماس با ما
  • درباره ما
  • همکاری با ما
پی استور
0

ورود و ثبت نام

مقالات آموزشی
  • ترجمه مقاله
    • لیست ترجمه کامل مقالات
    • لیست ترجمه مفهومی مقالات
  • تحقیق و پژوهش
    • لیست داکیومنت پایان‌نامه
    • لیست داکیومنت سمینار
  • پیاده سازی
    • سی پلاس پلاس ++C
    • برنامه نویسی OpenGL
    • سی شارپ #C
    • پایتون Python
    • اندروید Android
    • پی اچ پی PHP
    • متلب Matlab
  • پاورپوینت
    • پاورپوینت الگوریتم های بهینه سازی
    • پاورپوینت شبکه‌های کامپیوتری
    • پاورپونت مهندسی کامپیوتر
    • پاورپوینت یادگیری ماشین
    • پاورپوینت درس و تحقیق
    • قالب آماده پاورپوینت
  • فیلم آموزشی
    • لیست فیلم های آموزشی
  • قالب آماده
    • قالب آماده HTML
  • مجله پی استور

الگوریتم سولین در سی پلاس پلاس (حل درخت پوشای کمینه با الگوریتم سولین)

خانهفروشگاهبرنامه نویسیسی پلاس پلاسالگوریتم سولین در سی پلاس پلاس (حل درخت پوشای کمینه با الگوریتم سولین)
الگوریتم سولین در سی پلاس پلاس

تعیین درخت پوشای کمینه با الگوریتم سولین sollin در سی پلاس پلاس ++C

الگوریتم سولین در سی پلاس پلاس عنوان سورس کدی است که در این پست به آن پرداخته می شود. برای تعیین درخت پوشای کمینه الگوریتم های زیادی وجود دارد یکی از این الگوریتم ها الگوریتم سولین Sollin می باشد. در ادامه به تشریح این مسئله خواهیم پرداخت.

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

الگوریتم سولین یا Boruvka راهی برای پیدا کردن درخت پوشای کمینه است. یک درخت پوشای مینیمم درختی است که در آن مجموع وزن لبه به حداقل برسد. این اولین الگوریتمی بود که در سال 1926 برای پیدا کردن درخت پوشای کمینه MSTs طراحی شد.  آقای Otakar Boruvka از آن برای یافتن مسیریابی کارآمدترین شبکه برق استفاده کرده است. الگوریتم ها و روش های زیادی برای پیدا کردن درخت پوشای حداقل وجود دارد. الگوریتم Boruvka یک الگوریتم حریصانه است و مشابه الگوریتم Kruskal و الگوریتم Prim است.

این روش اساساً حد وسط بین دو الگوریتم کروسکال و پریم است. این الگوریتم اغلب با نام الگوریتم بروکا نیز شناخته می شود. در کتاب های ساختمان داده اغلب از این روش با نام الگوریتم سولین یاد می شود. برای یادگیری هر چه بهتر الگوریتم به مقاله ای تحت عنوان الگوریتم سولین در همین سایت مراجعه کنید که به طور مفصل مراحل این الگوریتم در آن توضیح داده شده است.

تشریح الگوریتم Sollin

بر خلاف الگوریتم های پریم و راشال – کروسکال که در هر مرحله فقط یک لبه به درخت اضافه می کردند در الگوریتم سولین چندین لبه را برای درخت اضافه می کند. در ابتدا یک مرحله لبه های انتخاب شده، همراه با تمام n راس گراف، تشکیل یک درخت پوشا را می دهند. در خلال یک مرحله یک لبه برای هر درخت انتخاب می شود که دارای حداقل هزینه بوده یعنی اینکه دقیقاً دارای یک راس در درخت می باشد. از آنجا که دو درخت در جنگل می توانند یک لبه یکسان انتخاب کنند، لذا می توان کپی تکراری لبه ها را حذف کرد. در ابتدای مرحله اول مجموعه لبه های انتخاب شده خالی است. این الگوریتم هنگامی پایان می یابد که فقط یک درخت در انتهای یک مرحله باقی و یا هیچ لبه ای برای انتخاب باقی نمانده باشد. شکل زیر روند اجرای الگوریتم سولین را نشان می دهد.

تشریح الگوریتم Sollin

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

پیاده سازی الگوریتم Sollin در ++C  شامل توابعی است که مراحل بالا را انجام می دهد. به دلیل محدودیت در شکل گرافیکی در ++C این کار با ورود اعداد و ارقام انجام می شود. مثلاً برای کشیدن گراف بایستی تعداد گره ها و یال ها و هزینه هر یال بصورت دستی انجام می شود. سورس کد تابع اصلی الگوریتم sollin در ++C به صورت زیر است.

int main() 
{ 
    /* Let us create following weighted graph 
             10 
        0--------1 
        |  \     | 
       6|   5\   |15 
        |      \ | 
        2--------3 
            4       */
    int V = 4;  // Number of vertices in graph 
    int E = 5;  // Number of edges in graph 
    struct Graph* graph = createGraph(V, E); 
  
  
    // add edge 0-1 
    graph->edge[0].src = 0; 
    graph->edge[0].dest = 1; 
    graph->edge[0].weight = 10; 
  
    // add edge 0-2 
    graph->edge[1].src = 0; 
    graph->edge[1].dest = 2; 
    graph->edge[1].weight = 6; 
  
    // add edge 0-3 
    graph->edge[2].src = 0; 
    graph->edge[2].dest = 3; 
    graph->edge[2].weight = 5; 
  
    // add edge 1-3 
    graph->edge[3].src = 1; 
    graph->edge[3].dest = 3; 
    graph->edge[3].weight = 15; 
  
    // add edge 2-3 
    graph->edge[4].src = 2; 
    graph->edge[4].dest = 3; 
    graph->edge[4].weight = 4; 
  
    boruvkaMST(graph); 
  
    return 0; 
}

خروجی حاصل از اجرای این الگوریتم نیز بصورت زیر است

Edge 0-3 included in MST
Edge 0-1 included in MST
Edge 2-3 included in MST
Weight of MST is 19

یعنی لبه 0-3 و 0-1 و 2-3 انتخاب می شوند که هزینه درخت هم 19 می شود. یعنی درخت بصورت زیر است

0----10---1
| \       |
6   5\    15
|      \  |
2----4----3
     ||
     ||
0---10---1
   \     
    5\   
      \ 
2---4----3

ویدئوی معرفی محصول

درباره الگوریتم سولین در سی پلاس پلاس

این محصول تحت عنوان سورس کد تعیین درخت پوشای کمینه با الگوریتم سولین sollin در سی پلاس پلاس ++C در ویژوال استادیو Microsoft visual C++ 2013 نوشته شده است. این برنامه مناسب برای دانشجویان و علاقه مندان به درس ساختمان داده و طراحی الگوریتم می باشد چرا که دارای کد های روان و قابل فهم و آسان برای یادگیری می باشد. خرید محصول توسط کلیه کارت های شتاب امکان پذیر است و بلافاصله پس از خرید، لینک دانلود محصول در اختیار شما قرار خواهد گرفت. کیفیت محصول توسط کارشناسان پی استور تضمین می شود.

امتیاز
5.00 از 1 رأی
5.00 1 رای
29,000 تومان
تعداد دانلود : 83
تاریخ انتشار: 24 اسفند 1397
تاریخ بروزرسانی: 10 مهر 1398
حجم فایل: 0.2 مگابایت
فرمت فایل sln در قالب ویژوال استودیو
نسخه: 1.0
لایسنس: ندارد
هماهنگی با: Microsoft Visual Studio 2013 و بالاتر
نظرات و دیدگاه ها
  • programstore
    28 اسفند 1397
    نمره 5 از 5
    پاسخ

    نظرات و دیدگاه های خود را با ما درمیان بگذارید.

قوانین ثبت دیدگاه

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

لغو پاسخ

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

قیمت 29,000 تومان

افزودن به علاقه مندی ها
خرید محصول توسط کلیه کارت های شتاب امکان پذیر است و بلافاصله پس از خرید، لینک دانلود محصول در اختیار شما قرار خواهد گرفت. کیفیت محصول توسط پی استور تضمین می شود. با خرید این محصول از مزایای زیر بهره‌مند می‌شوید:
  • دسترسی به فایل محصول به صورت مادام‌العمر
  • ۶ ماه پشتیبانی کاملا رایگان و تضمین شده
امتیاز
5.00 از 1 رأی
5.00 1 رای
29,000 تومان

تاریخ انتشار: 24 اسفند 1397
تاریخ بروزرسانی: 10 مهر 1398
حجم فایل: 0.2 مگابایت
فرمت فایل sln در قالب ویژوال استودیو
نسخه: 1.0
لایسنس: ندارد
هماهنگی با: Microsoft Visual Studio 2013 و بالاتر
تعداد دانلود : 83

قیمت: 29,000 تومان

تماس با ما
  • دفتر پشتیبانی: 04144225175
  • دسترسی سریع: 09227367942
  • واتساپ پشتیبانی: 09208501946
  • [email protected]
درباره پی استور

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

مجوز های اخذ شده

نشان ملی  

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