လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP Moore Voting Algorithm ၏အသေးစိတ်ရှင်းပြချက် - လျှောက်လွှာအခြေအနေများနှင့်အကောင်အထည်ဖော်မှုအဆင့်များသို့လမ်းညွှန်

PHP Moore Voting Algorithm ၏အသေးစိတ်ရှင်းပြချက် - လျှောက်လွှာအခြေအနေများနှင့်အကောင်အထည်ဖော်မှုအဆင့်များသို့လမ်းညွှန်

M66 2025-07-26

PHP တွင် Moore Voting algorithm ၏ application အခြေအနေများနှင့်အကောင်အထည်ဖော်မှုအဆင့်များကိုကျွမ်းကျင်ပါ

Moore Voting algorithm သည်အဓိကအားဖြင့်အချိန်၏ထက်ဝက်ကျော်ပေါ်လာသည့် array တစ်ခုတွင် element များကိုရှာဖွေရန်အဓိကအားဖြင့်အသုံးပြုသော algorithm ဖြစ်သည်။ ဤ algorithm သည်ကိုယ်စားလှယ်လောင်းများကိုရေတွက်ခြင်းနှင့်ပြောင်းလဲနေသော update ကိုဆင့်မွမ်းမံခြင်းမှတစ်ဆင့်ဖြတ်သန်းသောအရာများကိုရှာဖွေတွေ့ရှိနိုင်သည့်ဒြပ်စင်အများစုကိုဖော်ထုတ်နိုင်ခဲ့သည်။ ဤဆောင်းပါးသည် PHP ဘာသာစကားကို Moore Voting Method ၏ application method ၏တိကျသောအကောင်အထည်ဖော်မှုဖြစ်စဉ်များကိုရှင်းပြရန်ဥပမာတစ်ခုအဖြစ်အသုံးပြုလိမ့်မည်။

algorithm အခြေခံမူ

Moore ၏မဲပေးခြင်းနည်းလမ်း၏အဓိကအယူအဆမှာမတူညီသောဒြပ်စင်များ၏သွဇာလွှမ်းမိုးမှုကို "တန်ပြန်" ရန်ဖြစ်သည်။ Algorithm သည် Variable နှစ်ခုကိုထိန်းသိမ်းထားသည်။ ကိုယ်စားလှယ်လောင်းဒြပ်စင်နှင့်ကောင်တာများ။ Array ကိုဖြတ်သန်းသွားသောအခါကောင်တာသည်သုညဖြစ်လျှင်လက်ရှိဒြပ်စင်ကိုကိုယ်စားလှယ်လောင်းဒြပ်စင်အဖြစ်သတ်မှတ်ပြီး 1 ကို 1 နှင့်နှိုင်းယှဉ်ပါ။ လက်ရှိ element သည်ကိုယ်စားလှယ်လောင်းဒြပ်စင်နှင့်ညီမျှပါကကောင်တာကိုတစ်ခုတိုးပွားလာသည်။ ဒီလိုမှမဟုတ်ရင်ကောင်တာတစ် ဦး အားဖြင့်လျှော့ချဖြစ်ပါတယ်။ Traversal ပြီးစီးပြီးနောက်ကိုယ်စားလှယ်လောင်း Element သည်တောင်းဆိုထားသည်။

လျှောက်လွှာဇာတ်လမ်းတစ်ပုဒ်

ဤ algorithm သည် array များအတွက်မသင့်တော်သော်လည်းအောက်ပါအခြေအနေများတွင်လည်းကျယ်ကျယ်ပြန့်ပြန့်အသုံးပြုနိုင်သည်။

  • ရွေးကောက်ပွဲမဲပေးစာရင်းအင်းများ - ကိုယ်စားလှယ်လောင်းများ၏ထက်ဝက်ကျော်ကိုလျင်မြန်စွာရှာဖွေပါ
  • Array အပြောင်းအလဲနဲ့: array အတွက် element အများစုကိုခွဲခြားသတ်မှတ်
  • string ကိုဆန်းစစ်ခြင်း - ကြိမ်နှုန်းထက်ဝက်ကျော်နှင့်အတူဇာတ်ကောင် detect

အကောင်အထည်ဖော်မှုအဆင့်များ

အောက်ဖော်ပြပါဥပမာသည် PHP တွင် PHP ရှိ Moore မဲပေးမှုနည်းလမ်းကိုအကြိမ်ထက်ဝက်ကျော်ပါ 0 င်သော array ထွက်ရှာရန်မည်သို့အကောင်အထည်ဖော်ရမည်ကိုပြသသည်။

ကိုယ်စားလှယ်လောင်းများနှင့်တန်ပြန် variable များကို define array နှင့် 1) ကိုစတင်သည်။

 function findMajorityElement($arr) {
    $candidate = $arr[0];
    $count = 1;
    $len = count($arr);
    // အဆိုပါခင်းကျင်းမှတဆင့်ကြားမှာ
    for ($i = 1; $i < $len; $i++) {
        // ကောင်တာဖြစ်ပါတယ်0နာရီ,ကိုယ်စားလှယ်လောင်းဒြပ်စင် reset
        if ($count == 0) {
            $candidate = $arr[$i];
            $count = 1;
        } else {
            // လက်ရှိဒြပ်စင်သည်ကိုယ်စားလှယ်လောင်းဒြပ်စင်နှင့်အတူတူဖြစ်သည်,ကောင်တာ Plus1
            if ($arr[$i] == $candidate) {
                $count++;
            } else {
                // ကွဲပြားခြားနားသောဒြပ်စင်,တန်ပြန်တားဆီးခြင်း1
                $count--;
            }
        }
    }
    // ကိုယ်စားလှယ်လောင်းဒြပ်စင်ပြန်လာ
    return $candidate;
}

ဥပမာ array နှင့်ခေါ်ဆိုမှုများ:

 $arr = [1, 2, 2, 2, 3];
// အများဆုံးဒြပ်စင်ရှာဖွေရန် function ကိုခေါ်ပါ
$majorityElement = findMajorityElement($arr);
echo "အချိန်ထက်ဝက်ကျော်ပုံရသည်သောဒြပ်စင်သည်:" . $majorityElement;

အစီအစဉ်ကိုဖွင့်ပြီးနောက် output ရလဒ်သည် "ဖြစ်ပျက်မှု၏ထက်ဝက်ကျော်နှင့်အတူဒြပ်စင်သည် - 2" သည် 2 ဗွီဒီယိုတွင်နံပါတ် 2 ခုကိုဖော်ပြထားသည်။

အကျဉ်းချုပ်

Moore ၏မဲပေးခြင်းနည်းလမ်းသည်တိကျသောဒြပ်စင်အများစုရှာဖွေခြင်းပြ problem နာကိုဖြေရှင်းရန်အတွက်အထူးသဖြင့်သင့်တော်သောအတိုချုပ်နှင့်ထိရောက်သော algorithm တစ်ခုဖြစ်သည်။ algorithm ၏အဓိကအကြံဥာဏ်နှင့်အကောင်အထည်ဖော်မှုဆိုင်ရာယုတ္တိဗေဒကိုနားလည်ခြင်းအားဖြင့်၎င်းသည်ရွေးကောက်ပွဲမဲရေတွက်ခြင်း, ဒီဆောင်းပါးပါအကြောင်းအရာက Moore Voting Method ကိုအကောင်အထည်ဖော်ဖို့ PHP ကိုပိုကောင်းအောင်လုပ်ဖို့ကူညီပေးနိုင်မယ်လို့မျှော်လင့်ပါတယ်။

မကြာသေးမီ ဆောင်းပါးများ