ကွန်ပျူတာများပရိုဂရမ်းမင်း

သူတို့အဖြစ် algorithms sorting

Sorting အချို့နိုင်ရန်အတွက်ဥပမာ, တက်လျက်ရှိနေသည်ကိုအတွက်သို့မဟုတ်အမိန့်ဆင်းအရာဝတ္ထုများ၏အစီအစဉ်ဖြစ်ပါတယ်။ ယေဘုယျအားဖြင့်ဒြပ်စင်များ၏သာသနာကို - အသုံးအများဆုံး data တွေကိုကိုင်တွယ်လိုအပ်သောအချက်အလက်များ၏ထပ်မံရှာဖွေရေးလွယ်ကူချောမွေ့ရန်။ ဒါဟာအကြီးအကျယ်အမျိုးမျိုးသောဆက်စပ် ဒေတာဘေ့စစီမံခန့်ခွဲမှုစနစ်များကို။ sorting algorithms သူတို့အလားတူအင်္ဂါရပ်တွေ (အဆင့်ဆင့်) ရှိသော်လည်း, အချိန်၌ဤအချက်မှာကြီးမားတဲ့နံပါတ်များအတွက်တည်ရှိ: နေသမျှကာလပတ်လုံး sequence ကိုအမိန့်ချမှတ်မည်မဟုတ်ပါအဖြစ်ကိုနှိုင်းယှဉ်ခြင်းနှင့်အားလုံးအတွက်ဒြပ်စင်၏ permutation ။

sorting algorithms ပြည်တွင်းရေးနှင့်ပြင်ပသို့ခွဲခြားနိုင်ပါသည်။ ယခင်ခွဲထားခဲ့သည်ခံရဖို့အပေါငျးတို့သ element တွေကိုမှတ်ဉာဏ်ထဲတွင်နေရာဖြစ်ကြောင်းနှင့်သူတို့အဆိုမှကျပန်း access ကိုရစေခြင်းငှါအချက်ကိုဖြင့်သွင်ပြင်လက္ခဏာရှိပါသည်။ အဆုံးစွန်သောထဲတွင်နေရာဒေတာနှင့်အတူအလုပ်မလုပ်စေခြင်းငှါ ပြင်ပမှတ်ဉာဏ် (ဖိုင်တစ်ဖိုင်) ။ ထိုကဲ့သို့သောဒြပ်စင်ဖို့ Access ကိုဆင့်ကဲအကောင်အထည်ဖော်နိုင်ပါတယ်။

သူတို့၏ဖွဲ့စည်းပုံ၌ရှိကြ၏အခါနှစ်သက်သောမျိုးပစ္စည်းများကို တစ်ဦးတည်းရှုထောင်ခင်းကျင်း။ တစ်ခုချင်းစီကိုထိုကဲ့သို့သောကို item တစ်နံပါတ်စဉ်ရှိပါတယ်, နှင့်စစ်ခင်းကျင်းဒြပ်စင်ဖို့လိပ်စာအညွှန်းကိန်းအပေါ်ရာအရပ်ကိုကြာပါသည်။ ဤကိစ္စတွင်အတွက် sorting algorithms အရှိဆုံးရိုးရှင်းပြီးသုံးစွဲဖို့ရိုးရှိပါတယ်။

ပူဖောင်းနည်းလမ်းနှင့်၎င်း၏တိုးတက်လာသောဗားရှင်း sorting များအတွက်ကွဲပြားခြားနားသောအချိန်အသုံးပြုမှုကိုဆင်းအတွင်းပိုင်းစုစည်းခြင်း algorithm ကိုစဉ်းစားပါ။ ပူဖောင်းစီအမှန်တကယ်အများအပြားအမည်များရှိပါတယ်။ ဒါဟာအစ option ကို sorting တစ် linear စုစည်းခြင်းနည်းလမ်းသို့မဟုတ်လဲလှယ်ဟုခေါ်သည်။ သို့သော်သို့သော်သူကခေါင်းစဉ်မရှိ။ အဘယ်ကြောင့်တစ်ဦးပူဖောင်းပါသလဲ ရေ၌တပြိုင်နက်လွယ်ကူသည်အတိုင်း, လေပူဖောင်း, ပေါ်လာပါလိမ့်မယ်။ ဥပမာအားဖြင့်, သင်သည်ထိပ်တက်နေဖြင့် sort လျှင်ဒြပ်စင်များ၏အနည်းဆုံးဖြစ်လိမ့်မည်။

အဆိုပါစစ်ခင်းကျင်းသောအားဖြင့် sorting algorithm ကိုပူဖောင်းတစ်ဦးပထမဦးဆုံးဂျစဉ်းစားပါ။ နှုတ်ဖြင့် algorithm ကို , sorting ခင်းကျင်း အောက်ပါအတိုင်းအဖြစ်စရဖအမှတ်အသားရှိခြင်းနဲ့ N ဒြပ်စင်၏ပါဝင်သည်ဟု:

ပထမဦးဆုံးဒြပ်စင် (စရဖ [1]) ကိုခင်းကျင်း၏အကြီးဆုံးဒြပ်စင်၏တည်နေရာပေါ် 1. ထားတော်မူ၏။ ဒီလိုလုပ်ဖို့ကျနော်တို့ကအားလုံးကိုကျန်ရှိနေသေးသောဒြပ်စင် (စရဖ [2] စရဖ [3] ... စရဖ [N ကို]) အဖြစ်ပြောင်းလဲနှိုင်းယှဉ်ပါလိမ့်မယ်။ သင်အခြားဒြပ်စင်၏မည်သည့်စရဖထက် သာ. ကြီးမြတ်ကြောင်းကိုရှာဖွေပါလျှင် [1] က (တစ်ဦးအပိုဆောင်း variable ကို buf မှတဆင့်) သူတို့ကိုဖလှယ်ဖို့လိုအပ်ပါသည်။

ထည့်သွင်းစဉ်းစားစရဖဒြပ်စင်ကနေဖယ်ထုတ်ခြင်းအားဖြင့် 2 [1] နှင့်စရဖဒြပ်စင်ဖို့ခြေလှမ်း 1 ပြန်လုပ် [2] ။

3. အဲဒီခြေလှမ်းကနောက်ဆုံး မှလွဲ. အားလုံးဒြပ်စင်အဘို့အထပ်ခါတလဲလဲနေကြသည်။

အဆိုပါ algorithm ကိုအကောင်အထည်ဖော် ပူဖောင်းမျိုး Pascal ပရိုဂရမ်းမင်း:

ဒုတိယ option ကို (ထိုပူဖောင်း၏အဆင့်မြင့်နည်းလမ်း) အကြောင်းသင်ဤ algorithm ကိုပွောနိုငျ quicksort ။ သင်ခင်းကျင်းပြီးသားခွဲထားခဲ့သည်ဖြစ်ပါတယ် sort ရန်အတွက်လည်းအသုံးပြုနိုင်ဖို့ကြိုးစားမယ်ဆိုရင်ဒါသည်, algorithm ကိုအဆိုပါစစ်ခင်းကျင်းသောဒြပ်စင်၏ပထမဦးဆုံးဖြတ်သန်းပြီးနောက်၎င်း၏အလုပ်ပြီးသွား။ ဒါကကျနော်တို့အနတ္တနှိုင်းယှဉ်ဒြပ်စင်အပေါ် system ကိုအရင်းအမြစ်များနှင့်ကွန်ပျူတာအချိန်မဖြုန်းတီးကြလိမ့်မည်ဆိုလိုသည်။

ဤတွင် Pascal programming language ကိုအဘို့အ algorithm ကို sorting များ၏အကောင်အထည်ဖော်မှုဖြစ်ပါသည်:

ဒီတော့ sorting algorithms ဒေတာပာစည်းရုံးရေးတစ်နည်းလမ်းများဖြစ်ကြသည်။ တိကျတဲ့ algorithm ကိုရွေးချယ်ခြင်းတဲ့အခါမှာအကောင့်သို့အချိန်နှင့်စနစ်အားအရင်းအမြစ်များအသုံးအနှုန်းများအတွက်ကုန်ကျစရိတ်ကိုယူသင့်ပါတယ်။

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 my.unansea.com. Theme powered by WordPress.