گردونه رو بچرخون و شانس خودت رو برای گرفتن کد تخفیف امتحان کن!

روز
ساعت
دقیقه
ثانیه

به‌دلیل اختلالات گسترده در دانلود سرور، در صورت تمایل به خرید و دانلود هر یک از محصولات، می‌توانید در پیام رسان ایتا یا تلگرام با ما در ارتباط باشید. 

تعیین درخت پوشای مینیمم با الگوریتم سولین در سی پلاس پلاس

(دیدگاه کاربر 2)
امتیاز 5.00 از 5

برنامه‌نویس: 

هزینه سفارش:

۹۹,۰۰۰ تومان

تخصصی و منحصر به فرد بودن این اثر، تضمین کننده بهای محصول نسبت به آثار مشابه است.

سورس کد تعیین درخت پوشای کمینه با الگوریتم سولین در سی پلاس پلاس ++C در محیط ++Dev-C نوشته شده است. این برنامه مناسب برای دانشجویان و علاقه مندان به درس ساختمان داده و طراحی الگوریتم می‌باشد چرا که دارای کدهای روان و قابل فهم و آسان برای یادگیری می‌باشد.

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

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

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

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

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

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

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

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

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

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

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

int main() 
{ 
    /* Let us create following weighted graph 
             ۱۰ 
        ۰--------۱ 
        |  \     | 
       ۶|   ۵\   |۱۵ 
        |      \ | 
        ۲--------۳ 
            ۴       */
    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

یعنی لبه ۰-۳ و ۰-۱ و ۲-۳ انتخاب می شوند که هزینه درخت هم ۱۹ می شود. یعنی درخت بصورت زیر است

۰----۱۰---۱
| \       |
۶   ۵\    ۱۵
|      \  |
۲----۴----۳
     ||
     ||
۰---۱۰---۱
   \     
    ۵\   
      \ 
۲---۴----۳

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

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

ویدئوی معرفی

نحوه اجرای سورس کد

مشخصات تکمیلی سورس کد

نام اثر: تعیین درخت پوشای مینیمم با الگوریتم سولین در سی پلاس پلاس
نوع اثر: سورس کد
برنامه‌نویس: تیم برنامه‌نویسی پی‌استور
زبان برنامه نویسی: سی پلاس پلاس ++C
ویژگی: قابلیت دانلود و ویرایش

راهنمای خرید و ثبت سفارش

تصویر مراحل خرید از پی استور

اگر در مورد این اثر یا نحوه تهیه آن سوالی دارید؟
  • با شماره تلفن واحد مخاطبین 44225175 (پیش شماره 041) تماس بگیرید. – تمام ساعات اداری
  • با ما مکاتبه ایمیلی داشته باشید (این لینک). – تمام ساعات

برنامه‌نویس:  تیم برنامه‌نویسی پی‌استور

متشکل از اساتید و فارغ التحصیلان رشته‌های فنی - مهندسی

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

نظرات

2 نظر|5.00 (میانگین امتیاز کاربران)

  1. پیمان

    با تشکر از شما

  2. programstore

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

دیدگاه خود را بنویسید

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

هوش مصنوعی پاسخگوی شماست ...
avatar
دستیار هوش مصنوعی پی استور
پاسخگوی سوالات شما هستیم...

هزینه سفارش:

۹۹,۰۰۰ تومان