ฮีป
hîipအဓိပ္ပာယ်များ
1နာမ်C1
ဟီးပ် (ကွန်ပျူတာမှတ်ဉာဏ်နေရာ)
ပရိုဂရမ်အလုပ်လုပ်နေချိန်အတွင်း ဒိုင်းနမစ်မှတ်ဉာဏ်ခွဲဝေမှုအတွက် သုံးသော ကွန်ပျူတာမှတ်ဉာဏ်နေရာ။
ဥပမာများ
โปรแกรมbproo-grɛɛmโปรแกรมbproo-grɛɛm1ကွန်ပျူတာပရိုဂရမ်၊ ဆော့ဖ်ဝဲလ်၊ အက်ပလီကေးရှင်း2အချိန်ဇယား၊ အစီအစဉ်3ပရိုဂရမ်ရေးဆွဲရန်၊ အချိန်ဇယားဆွဲရန်นี้níiนี้níi1ဤ၊ ဒီ (ပြောသူနှင့်နီးသော)2ဤအရာ၊ ဒါ3ဒီ၊ ယခု (အချိန်/အကြောင်းအရာ)ใช้cháiใช้chái1အသုံးပြုသည်၊ သုံးသည်2ငွေသုံးသည်၊ ပေးချေသည်3အချိန်ယူသည်၊ လိုအပ်သည်4လုပ်ခိုင်းသည်၊ တာဝန်ပေးသည်၊ အမိန့်ပေးသည်หน่วยความจำnùuai-kwaam-jamหน่วยความจำnùuai-kwaam-jamကွန်ပျူတာမှတ်ဉာဏ်၊ မမ်မိုရီบนbonบนbon1ပေါ်တွင်၊ တွင်၊ အထက်တွင်2အထက်ပိုင်း၊ အပေါ်ဘက်3(နတ်ကွန်းတွင်) ကတိပြုဆုတောင်းသည်ฮีปhîipฮีปhîip1ဟီးပ် (ကွန်ပျူတာမှတ်ဉာဏ်နေရာ)2ဟီးပ် (ဒေတာဖွဲ့စည်းပုံ)ค่อนข้างkɔ̂n-kâangค่อนข้างkɔ̂n-kâangအတော်အသင့် / အတော်လေးเยอะyə́เยอะyə́1များသော၊ များစွာ2အများကြီး၊ များစွာ (စကားပြော)3လွန်ကဲသော၊ များလွန်းသော
ဒီပရိုဂရမ်က heap ပေါ်မှာ မမ်မိုရီ (memory) တော်တော်များများ အသုံးပြုပါတယ်။
နောက်ထပ် ဥပမာ 3 ခုလျှော့ပြပါ
การจัดการgaan-jàt-gaanหน่วยความจำnùuai-kwaam-jamบนbonฮีปhîipไม่ดีmâi-diiอาจàatทำให้เกิดtam-hâi-gə̀ətปัญหาbpan-hǎamemoryleakได้dâai
Heap ပေါ်က မမ်မိုရီကို စနစ်တကျ စီမံခန့်ခွဲမှုမရှိခြင်းက memory leak ပြဿနာတွေကို ဖြစ်ပေါ်စေနိုင်ပါတယ်။
ในnaiภาษาpaa-sǎaC++โปรแกรมเมอร์bproo-grɛɛm-mə̂əต้องdtɔ̂ngรับผิดชอบráp-pìt-chɔ̂ɔpในnaiการจองgaan-jɔɔngและlɛ́คืนkʉʉnหน่วยความจำnùuai-kwaam-jamบนbonฮีปhîipด้วยตัวเองdûuai-dtuua-eeng
C++ မှာ ပရိုဂရမ်မာတွေဟာ heap ပေါ်က မမ်မိုရီကို ကိုယ်တိုင်သတ်မှတ်ခြင်းနဲ့ ပြန်လည်သိမ်းဆည်းခြင်းတို့အတွက် တာဝန်ရှိပါတယ်။
ภาษาโปรแกรมpaa-sǎa-bproo-grɛɛmสมัยใหม่sà-mǎi-màiมักจะmák-jàมีmiiGarbageCollectorเพื่อpʉ̂ʉaจัดการjàt-gaanการgaanคืนkʉʉnพื้นที่pʉ́ʉn-tîiหน่วยความจำnùuai-kwaam-jamบนbonฮีปhîipโดยอัตโนมัติdooi-àt-dtà-noo-mát
ခေတ်သစ် ပရိုဂရမ်မင်းဘာသာစကားတွေမှာ heap ပေါ်က မမ်မိုရီနေရာတွေကို အလိုအလျောက် ပြန်လည်စီမံခန့်ခွဲပေးဖို့ garbage collector ပါရှိလေ့ရှိပါတယ်။
2နာမ်C1
ဟီးပ် (ဒေတာဖွဲ့စည်းပုံ)
အကြီးဆုံး သို့မဟုတ် အငယ်ဆုံးအရာကို လွယ်ကူစွာရယူနိုင်ရန် သိမ်းဆည်းပေးသည့် အထူးပြုသစ်ပင်ပုံစံ ဒေတာဖွဲ့စည်းပုံ။
ဥပမာများ
เราraoเราrao1ငါတို့၊ ကျွန်ုပ်တို့2ငါ၊ ကျွန်ုပ် (အလွတ်သဘော)ใช้cháiใช้chái1အသုံးပြုသည်၊ သုံးသည်2ငွေသုံးသည်၊ ပေးချေသည်3အချိန်ယူသည်၊ လိုအပ်သည်4လုပ်ခိုင်းသည်၊ တာဝန်ပေးသည်၊ အမိန့်ပေးသည်โครงสร้างkroong-sâangโครงสร้างkroong-sâangဖွဲ့စည်းပုံ / မူဘောင်ข้อมูลkɔ̂ɔ-muunข้อมูลkɔ̂ɔ-muun1သတင်းအချက်အလက်၊ အချက်အလက်များ2ဒေတာ (ကွန်ပျူတာ)แบบbɛ̀ɛpแบบbɛ̀ɛp1စတိုင်၊ အမျိုးအစား၊ ပုံစံ၊ နည်းလမ်း2အမျိုးအစား၊ ပုံစံတို့ကို ရေတွက်သည့် စကားလုံး3ပုံစံ၊ နမူနာ၊ ဒီဇိုင်း၊ ပုံကြမ်း4ဖောင်၊ မေးခွန်းလွှာ5မော်ဒယ်၊ ကိုယ်ဟန်ပြပေးသူ6... သောပုံစံဖြင့် (ကိရိယာဝိသေသနပြ စကားလုံး)ฮีปhîipฮีปhîip1ဟီးပ် (ကွန်ပျူတာမှတ်ဉာဏ်နေရာ)2ဟီးပ် (ဒေတာဖွဲ့စည်းပုံ)เพื่อpʉ̂ʉaเพื่อpʉ̂ʉa1အတွက်၊ ရန်အလို့ငှာ။2အကျိုးအတွက်၊ ကိုယ်စား။หาhǎaหาhǎa1ရှာဖွေသည်2တွေ့ရှိသည် (ရှာဖွေပြီးနောက်)3ဟင်။ ဘာပြောတာလဲ။ (အရပ်သုံး)4ရရှိသည်၊ ရှာဖွေပေးသည်5ငွေရှာသည်၊ အသက်မွေးဝမ်းကျောင်းပြုသည်6သွားလည်သည်၊ သွားတွေ့သည်7လိုက်လံဆက်သွယ်သည်၊ အဆက်အသွယ်လုပ်သည်ค่าkâaค่าkâa1ကုန်ကျစရိတ်၊ အခွန်အခ၊ အဖိုးအခ2တန်ဖိုး၊ ကိန်းဂဏန်းတန်ဖိုး3တန်ဖိုး၊ အရေးပါမှု4ငွေကြေးတန်ဖိုး၊ တန်ဖိုး5ค่า သည် ค่ะ ၏ ရင်းနှီးစွာ အသံဆွဲပြောသည့် သို့မဟုတ် ရေးသားသည့် ပုံစံဖြစ်ပြီး အလွတ်သဘော ပြန်ဖြေခြင်း၊ လက်ခံကြောင်းပြောခြင်းနှင့် ကျေးဇူးတင်ခြင်းတို့တွင် အဓိကသုံးသည်။ที่tîiที่tîi1နေရာ၊ ထိုင်ခုံ၊ ကွက်လပ်2၌၊ တွင်၊ သို့3နေရာ၊ ထိုင်ခုံ၊ တစ်ဦးစာပွဲတို့၏ မျိုးပြပုဒ်4သော (အထူးပြုစကားလုံး)5သောအခါ၊ အချိန်တွင် (အချိန်ပြစကားလုံး)6အစဉ်နှင့် အဆင့်ပြပုဒ်มากที่สุดmâak-tîi-sùtมากที่สุดmâak-tîi-sùt1အများဆုံး၊ အမြင့်ဆုံးအတိုင်းအတာအထိ2အများဆုံး (ပမာဏ/အရေအတွက်)3အလွန်ဆုံး၊ အများဆုံးในกลุ่มnai-glùmในกลุ่มnai-glùmအုပ်စုထဲတွင်၊ အုပ်စုအတွင်းข้อมูลkɔ̂ɔ-muunข้อมูลkɔ̂ɔ-muun1သတင်းအချက်အလက်၊ အချက်အလက်များ2ဒေတာ (ကွန်ပျူတာ)อย่างรวดเร็วyàang-rûuat-reoอย่างรวดเร็วyàang-rûuat-reoမြန်ဆန်စွာ၊ လျင်မြန်စွာ
ဒေတာအစုအဝေးတစ်ခုထဲက အကြီးဆုံးတန်ဖိုးကို အမြန်ရှာဖွေဖို့အတွက် ကျွန်ုပ်တို့ဟာ heap data structure ကို အသုံးပြုကြပါတယ်။
နောက်ထပ် ဥပမာ 3 ခုလျှော့ပြပါ
โครงสร้างข้อมูลkroong-sâang-kɔ̂ɔ-muunแบบbɛ̀ɛpฮีปhîipมีประโยชน์mii-bprà-yòotอย่างมากyàang-mâakในnaiการนำไปgaan-nam-bpaiประยุกต์ใช้bprà-yúk-cháiสร้างsâangpriorityqueue
Heap data structure ဟာ priority queue တစ်ခုကို တည်ဆောက်ရာမှာ အလွန်အသုံးဝင်ပါတယ်။
อัลกอริทึมan-gɔɔ-rí-tʉmHeapsortใช้cháiคุณสมบัติkun-ná-sǒm-bàtของkɔ̌ɔngฮีปhîipในnaiการเรียงลำดับgaan-riiang-lam-dàpข้อมูลkɔ̂ɔ-muunได้dâaiอย่างมีประสิทธิภาพyàang-mii-bprà-sìt-tí-pâap
Heapsort အယ်လ်ဂိုရီသမ်ဟာ ဒေတာတွေကို ထိရောက်စွာ စီရန်အတွက် heap ရဲ့ ဂုဏ်သတ္တိတွေကို အသုံးပြုပါတယ်။
คุณสมบัติkun-ná-sǒm-bàtสำคัญsǎm-kanของkɔ̌ɔngmin-heapคือkʉʉโหนดแม่nòot-mɛ̂ɛทุกtúkโหนดnòotจะต้องjà-dtɔ̂ngมีค่าmii-kâaน้อยกว่าnɔ́ɔi-gwàaหรือrʉ̌ʉเท่ากับtâo-gàpโหนดnòotลูกlûukของมันkɔ̌ɔng-manเสมอsà-mə̌ə
Min-heap ရဲ့ အဓိကဂုဏ်သတ္တိကတော့ parent node တိုင်းရဲ့ တန်ဖိုးဟာ ၎င်းရဲ့ children node တွေထက် အမြဲတမ်း ငယ်ရမယ် သို့မဟုတ် ညီရပါမယ်။
အသံအနိမ့်အမြင့်များ
စာလုံးပေါင်းက ဝဏ္ဏတစ်ခုချင်းစီ၏ အသံကို မည်သို့ သတ်မှတ်သည်ကို အဆင့်လိုက် ကြည့်ပါ။
အသံကို မည်သို့ ဆုံးဖြတ်သနည်း
- ဗျည်းအုပ်စုနိမ့်အုပ်စု
- အသံအမှတ်အသားအသံအမှတ်အသား မရှိ
- ဝဏ္ဏအဆုံးအသေဝဏ္ဏသရရှည်ပိတ်သံ -ป ဖြင့် ဆုံးသဖြင့် အသေဖြစ်သည်။
နိမ့်အုပ်စု ဗျည်းများ
คฅฆงชซฌญฑฒณทธนพฟภมยรลวฬฮ
ရလဒ်
ကျသံ အသံ
hîip
မြင့်စွာစပြီး အနည်းငယ်တက်ကာ ထင်ရှားစွာ ကျသည်။
နိမ့်အုပ်စု + အသံအမှတ်အသား မရှိ + အသေဝဏ္ဏ · သရရှည် → ကျသံ
အသံဇယား
အုပ်စုနှင့် စာလုံးပေါင်းပုံစံ အားလုံး၊ ဤဝဏ္ဏကို အမှတ်အသားပြထားသည်။
| အလယ်အုပ်စု | မြင့်အုပ်စု | နိမ့်အုပ်စု | |
|---|---|---|---|
| အမှတ်အသားမဲ့ + အရှင် | အလယ်သံ | တက်သံ | အလယ်သံ |
| အမှတ်အသားမဲ့ + အသေ တို | အနိမ့်သံ | အနိမ့်သံ | အမြင့်သံ |
| အမှတ်အသားမဲ့ + အသေ ရှည် | အနိမ့်သံ | အနိမ့်သံ | ကျသံ |
| Mai ek | အနိမ့်သံ | အနိမ့်သံ | ကျသံ |
| Mai tho | ကျသံ | ကျသံ | အမြင့်သံ |
| Mai tri | အမြင့်သံ | — | — |
| Mai chattawa | တက်သံ | — | — |