www.wikidata.uk-ua.nina.az
Ne plutati z binarne derevo B dereva angl B tree ce zbalansovana derevopodibna struktura danih yaka pidtrimuye vidsortovani dani ta dozvolyaye zdijsnyuvati poshuk poslidovnij dostup vstavki ta vidalennya v logarifmichnomu chasi B derevo uzagalnyuye dvijkove derevo poshuku dopuskayuchi vuzli z bilshe nizh dvoma dochirnimi elementami 2 Na vidminu vid inshih samobalansuyuchih dvijkovih derev poshuku B derevo dobre pidhodit dlya sistem zberigannya danih yaki chitayut i zapisuyut vidnosno veliki bloki danih takih yak bazi danih i fajlovi sistemi B derevo zabezpechuye efektivne zberezhennya informaciyi na magnitnih diskah ta inshih pristroyah z pryamim dostupom B dereva shozhi na chervono chorni riznicya v tomu sho v B derevi vuzol mozhe mati bagato ditej na praktici do tisyachi zalezhno vid harakteristik vikoristovuvanogo diska Zavdyaki comu konstanta v ocinci O log n dlya visoti dereva mensha nizh dlya chervono chornih derev Yak i chervono chorni dereva B dereva dozvolyayut realizuvati bagato operacij z mnozhinami rozmiru n za chas O log n B treeTip DerevoVinajdeno 1970 1 Vinajshli Rudolf Bajer en Edvard MakKrejt en Obchislyuvalna skladnistu zapisi velikogo OSerednya NajgirshaProstir O n O n Poshuk O log n O log n Vstavlyannya O log n O log n Vidalennya O log n O log n Zobrazhennya B derevaVuzol x yakij zberigaye n x klyuchiv maye n x 1 ditej Klyuchi sho zberigayutsya v x sluzhat granicyami sho rozdilyayut vsih jogo nashadkiv na n x 1 grup za kozhnu grupu vidpovidaye odin z nashadkiv x Pri poshuku v B derevi mi porivnyuyemo shukanij klyuch z n x klyuchami sho zberigayutsya v x i za rezultatami porivnyannya vibirayemo odnogo z n x 1 nashadkiv Zmist 1 Istoriya 2 Osoblivosti roboti z informaciyeyu sho rozmishuyetsya na disku 3 Viznachennya 4 Osnovni operaciyi z B derevami 4 1 Poshuk v B derevi 4 2 Stvorennya porozhnogo B dereva 4 3 Dodavannya elementa v B derevo 4 4 Vidalennya elementa 5 Primitki 6 Pershodzherela 7 Div takozhIstoriya red B derevo bulo rozroblene u 1972 roci Rudolfom Bajerom en ta Edvardom MakKrejtom en Osoblivosti roboti z informaciyeyu sho rozmishuyetsya na disku red Algoritmi sho pracyuyut z B derevami zberigayut v operativnij pam yati lishe neveliku chastinu vsiyeyi informaciyi fiksovane chislo sektoriv Disk rozglyadayetsya yak velika dilyanka pam yati robota z yakim vidbuvayetsya nastupnim chinom pered tim yak pracyuvati z ob yektom x vikonuyetsya specialna operaciya Disk Read x chitannya z diska Pislya vnesennya zmin v ob yekt x vikonuyetsya operaciya Disk Write x zapis na disk Chas roboti programi v osnovnomu viznachayetsya kilkistyu cih operacij tak sho maye sens chitati zapisuvati yak mozhna bilshe informaciyi za odin raz i zrobiti tak shob vuzol B dereva zapovnyuvav povnistyu odin sektor diska Takim chinom stupin rozgaluzhennya chislo ditej vuzla viznachayetsya rozmirom sektora Tipova stupin rozgaluzhennya B derev znahoditsya mizh 50 i 2000 v zalezhnosti vid rozmiru elementa Zbilshennya stupenya rozgaluzhennya rizko skorochuye visotu dereva i tim samim chislo zvernen do disku pri poshuku Napriklad B derevo stupenya 1001 i visoti 2 mozhe zberigati ponad milyard klyuchiv Vrahovuyuchi sho korin mozhna postijno zberigati v operativnij pam yati dostatno dvoh zvernen do diska pri poshuku potribnogo klyucha Vvazhayemo sho prikladna informaciya pov yazana z klyuchem zberigayetsya v tomu zh vuzli dereva Na praktici ce ne zavzhdi zruchno i v realnomu algoritmi vuzol mozhe mistiti lishe posilannya na sektor de vona zberigayetsya Viznachennya red Zgidno z viznachennyam Knuta B derevo poryadku m ce derevo yake zadovolnyaye taki vlastivosti Kozhen vuzol maye shonajbilshe m nashadkiv Kozhen vnutrishnij vuzol maye prinajmni m 2 nashadkiv Kozhen nelistkovij vuzol maye prinajmni dvoh dochirnih vuzliv Usi listochki roztashovani na odnomu rivni Nelistovij vuzol z k dochirnimi elementami mistit k 1 klyuchiv Klyuchi kozhnogo vnutrishnogo vuzla diyut yak znachennya rozdilennya yaki rozdilyayut jogo piddereva Vnutrishni vuzli Vnutrishni vuzli ce vsi vuzli za vinyatkom listovih vuzliv i korenevogo vuzla Zazvichaj voni predstavleni u viglyadi vporyadkovanogo naboru elementiv i dochirnih pokazhchikiv Kozhen vnutrishnij vuzol mistit maksimum U nashadkiv i minimum L nashadkiv Takim chinom kilkist elementiv zavzhdi na 1 menshe nizh kilkist dochirnih pokazhchikiv kilkist elementiv znahoditsya mizh L 1 ta U 1 U maye buti abo 2L abo 2L 1 tomu kozhen vnutrishnij vuzol zapovnenij prinajmni napolovinu Zv yazok mizh U ta L oznachaye sho dva napivzapovneni vuzli mozhut buti ob yednani shob sklasti vuzol a odin povnij vuzol mozhna rozdiliti na dva vuzli yaksho ye misce shob pidshtovhnuti odin element do batkivskogo Ci vlastivosti dozvolyayut vidalyati ta vstavlyati novi znachennya v B derevo ta nalashtuvati derevo shob zberegti vlastivosti B dereva Korenevij vuzol Kilkist dochirnih elementiv korenevogo vuzla maye tu samu verhnyu mezhu sho j vnutrishni vuzli ale ne maye nizhnoyi mezhi Napriklad yaksho u vsomu derevi menshe nizh L 1 elementiv korin bude yedinim vuzlom u derevi u yakomu vzagali nemaye nashadkiv Listya Listya ce vuzli sho ye faktichnimi ob yektami danih abo fragmentami Inshi avtori takozh nazivayut listyam rivni vishe cih listiv B derevo glibini n 1 mozhe mistiti priblizno v U raziv bilshe elementiv nizh B derevo glibini n ale vartist operacij poshuku vstavki ta vidalennya zrostaye z glibinoyu dereva Yak i v bud yakomu zbalansovanomu derevi vartist zrostaye nabagato povilnishe nizh kilkist elementiv Deyaki zbalansovani dereva zberigayut znachennya lishe v listi i vikoristovuyut rizni tipi vuzliv dlya listya i vnutrishnih vuzliv B dereva zberigayut znachennya v kozhnomu vuzli dereva za vinyatkom listya B derevo B derevom nazivayut koreneve derevo vlashtovane nastupnim chinom Kozhen vuzol x mistit nastupni polya n x kilkist klyuchiv sho zberigayutsya u vuzli x key1 x key2 x keyn x x sami klyuchi v ne spadayuchomu poryadku leaf x buleve znachennya istinne koli vuzol x ye listom Yaksho x vnutrishnij vuzol to vin mistit pokazhchiki c1 x c2 x cn x 1 x na jogo ditej v kilkosti n x 1 U listiv ditej nemaye i ci polya dlya nih ne viznacheni Usi listya znahodyatsya na odnij i tij zhe glibini sho dorivnyuye visoti dereva Mozhliva kilkist klyuchiv sho zberigayutsya v odnomu vuzli viznachayetsya parametrom t 2 yake nazivayetsya minimalnim stupenem B dereva Dlya kozhnogo nekorenevogo vuzla x vikonuyetsya nerivnist t 1 n x 2t 1 Takim chinom chislo ditej u bud yakogo vnutrishnogo vuzla krim korenya znahoditsya v mezhah vid t do 2t Yaksho derevo ne puste to v koreni povinen zberigatisya hocha b odin klyuch Vuzol yakij zberigaye rivno 2t 1 klyuchiv bude nazivatisya povnim Klyuchi keyi x sluzhat granicyami sho rozdilyayut znachennya klyuchiv v pidderevah Tochnishe c1 x posilayetsya na pidderevo klyuchi v yakomu menshe nizh key1 x ci x pri i 2 3n posilayetsya na pidderevo klyuchi v yakomu znahodyatsya v mezhah vid keyi 1 x do keyi x cn x 1 x posilayetsya na pidderevo klyuchi v yakomu bilshe nizh keyn x x U vipadku koli t 2 u kozhnogo vnutrishnogo vuzla 2 3 abo 4 nashadka vihodit tak zvane 2 3 4 derevo Dlya efektivnoyi roboti z diskom na praktici t vibirayut dosit velikim Chislo zvernen do diska dlya bilshosti operacij proporcijno visoti B dereva Dlya visoti h displaystyle h nbsp B dereva z n displaystyle n nbsp elementami danih h log t n 1 2 displaystyle h leq log t left n 1 over 2 right nbsp Osnovni operaciyi z B derevami red Korin B dereva rozmishuyut v operativnij pam yati pri comu chitannya z diska dlya korenya nikoli ne potribno a prote vsyakij raz koli zminyuyetsya korin jogo zberigayut na disku Usi vuzli sho peredayutsya yak parametri vzhe zchitani z diska Vsi proceduri obroblyayut derevo za odin prohid vid korenya do listiv Poshuk v B derevi red Poshuk v B derevi shozhij na poshuk v dvijkovomu derevi poshuku Riznicya v tomu sho v kozhnomu vuzli x vibirayetsya odin variant z n x 1 a ne z dvoh Pri poshuku proglyadayutsya vuzli dereva vid korenya do lista Tomu chislo zvernen do disku ye O h O logtn de h visota dereva a n kilkist klyuchiv Tak yak n x 2t to chas obchislen dorivnyuye O th O t logtn Stvorennya porozhnogo B dereva red Stvorennya porozhnogo B dereva zdijsnyuyetsya za dopomogoyu proceduri yaka znahodit misce na disku dlya novogo vuzla ta rozmishuye jogo Ce mozhna realizuvati za chas O 1 i ne vikoristovuvati operaciyu chitannya z diska Dodavannya elementa v B derevo red Dodavannya elementa v B derevo zdijsnyuyetsya z vikoristannyam proceduri rozbittya povnogo z 2t 1 klyuchami vuzla y na dva vuzli sho mayut po t 1 elementiv u kozhnomu Pri comu klyuch mediana key t y vidpravlyayetsya do batka x vuzla y i staye rozdilnikom dvoh otrimanih vuzliv Ce mozhlivo yaksho vuzol x ne vicherpnij Yaksho y korin procedura pracyuye analogichno V comu vipadku visota dereva zbilshuyetsya na odinicyu Procedura dodavannya novogo elementa prohodit odin raz vid korenya do lista na ce potriben chas O th O t logtn i O h zvernen do diska de h visota dereva Po hodu spravi podilyayutsya povni vuzli sho zustrichayutsya na shlyahu Zauvazhimo sho yaksho povnij vuzol maye nepovnogo batka to jogo mozhna rozdiliti tomu sho v batka ye misce dlya dodatkovogo klyucha tomu pidnimayuchis vgoru dohodimo do nepovnogo lista kudi i dodayemo novij element Vidalennya elementa red Vidalennya elementa z B dereva vidbuvayetsya analogichno dodavannyu hocha trohi skladnishe Vidalennya klyucha z V dereva hocha i analogichno vstavci yavlyaye soboyu skladnishu zadachu Ce pov yazano z tim sho klyuch mozhe buti vidalenij z bud yakogo vuzla a ne tilki z lista a vidalennya z vnutrishnogo vuzla vimagaye pevnoyi perebudovi dochirnih vuzliv Yak i u vipadku vstavki mi povinni zabezpechiti shob pri vikonanni operaciyi vidalennya ne buli porusheni vlastivosti V dereva Analogichno tomu yak mi mali mozhlivist perekonatisya sho vuzli ne nadto silno zapovneni dlya vstavki novogo klyucha nam nalezhit perekonatisya sho vuzol ne staye zanadto malo zapovnenij v procesi vidalennya klyucha za vinyatkom korenevogo vuzla yakij mozhe mati menshe t 1 klyuchiv hocha i ne mozhe mati bilshe 2t 1 klyuchiv Otzhe nehaj procedura B TREE DELETE povinna vidaliti klyuch k z pidderevi korenem yakogo ye vuzol x Cya procedura rozroblena takim chinom sho pri yiyi rekursivnomu vikliku dlya vuzla h garantovana nayavnist v comu vuzli prinajmni t klyuchiv Cya umova vimagaye nayavnosti u vuzli bilshoyi kilkosti klyuchiv nizh minimalna v zvichajnomu V derevi tak sho inodi klyuch mozhe buti peremishenij v dochirnij vuzol pered tim yak rekursiya zvernetsya do cogo dochirnomu vuzlu Take posilennya vlastivosti V dereva nayavnist zapasnogo klyucha daye nam mozhlivist vikonati vidalennya klyucha za odin spadnij prohid po derevu z yedinim vinyatkom yakij bude poyasneno piznishe Slid takozh vrahuvati sho yaksho korin dereva h staye vnutrishnim vuzlom sho ne mistit zhodnogo klyucha taka situaciya mozhe viniknuti v rozglyanutih nizhche vipadkah 2v i 36 to vuzol h viddalyayetsya a jogo yedinij dochirnij vuzol S1 h staye novim korenem dereva pri comu zmenshuyetsya visota V dereva i zberigayetsya jogo vlastivist sho vimagaye shob korenevij vuzol neporozhnogo dereva mistiv yak minimum odin klyuch Zamist togo shob predstaviti vam povnij psevdokod proceduri vidalennya vuzla z V dereva mi prosto nakidayemo poslidovnist vikonuvanih dij 1 Yaksho vuzol k znahoditsya u vuzli x i x ye listom vidalyayemo k z h 2 Yaksho vuzol k znahoditsya u vuzli h i h ye vnutrishnim vuzlom vikonuyemo nastupni diyi a Yaksho dochirnij po vidnoshennyu do h vuzol u poperednij klyuchu k u vuzli x mistit ne menshe t klyuchiv to znahodimo do k poperednika k v pidderevi korenem yakogo ye u Rekursivno vidalyayemo k i zaminyuyemo k v h klyuchem k Poshuk klyucha k i vidalennya jogo mozhna vikonati v procesi odnogo spadnogo prohodu b Situaciya simetrichna situaciyi a yaksho dochirnij po vidnoshennyu do h vuzol z nastupnij za klyuchem k v vuzli x mistit ne menshe t klyuchiv to znahodimo k nastupnij za k klyuch v pidderevi korenem yakogo ye z Rekursivno vidalyayemo k i zaminyuyemo k v h klyuchem k Poshuk klyucha k i vidalennya jogo mozhna vikonati v procesi odnogo spadnogo prohodu v U protivnomu vipadku yaksho i y i z mistyat po t 1 klyuchiv vnosimo k i vsi klyuchi z v u pri comu z h vidalyayetsya k i pokazhchik na z a vuzol u pislya cogo mistit 2t 1 klyuchiv a potim zvilnyayemo z i rekursivno vidalyayemo k z u 3 Yaksho klyuch k vidsutnij u vnutrishnomu vuzli h znahodimo korin ci h piddereva yake povinno mistiti k yaksho takij klyuch ye v danomu V derevi Yaksho ci h mistit tilki t 1 klyuchiv vikonuyemo krok 3a abo 3b dlya togo shob garantuvati sho dali mi perehodimo v vuzol sho mistit yak minimum t klyuchiv Potim mi rekursivno vidalyayemo k z piddereva z korenem ci h a Yaksho ci h mistit tilki t 1 klyuchiv ale pri comu odin z yiyi bezposerednih susidiv pid yakim mi rozumiyemo dochirnij po vidnoshennyu do h vuzol vidokremlenij vid rozglyanutogo rivno odnim klyuchem rozdilnikom mistit yak minimum t klyuchiv peredamo v ci h klyuch rozdilnik mizh danimi vuzlom i jogo bezposerednim susidom z x na jogo misce pomistimo krajnij klyuch iz susidnogo vuzla i perenesemo vidpovidnij pokazhchik iz susidnogo vuzla v ci h b Yaksho i ci h i obidva jogo bezposerednih susida mistyat po t 1 klyuchiv ob yednayemo ci h z odnim z jogo susidiv pri comu kolishnij klyuch rozdilnik z x stane medianoyu novogo vuzla Primitki red Bayer R McCreight E July 1970 Organization and maintenance of large ordered indices Proceedings of the 1970 ACM SIGFIDET Now SIGMOD Workshop on Data Description Access and Control SIGFIDET 70 Boeing Scientific Research Laboratories s 107 doi 10 1145 1734663 1734671 Comer 1979 Bayer R McCreight E 1972 Organization and Maintenance of Large Ordered Indexes Acta Informatica 1 3 173 189 doi 10 1007 bf00288683 Arhiv originalu za 10 chervnya 2017 Procitovano 24 sichnya 2017 Comer Douglas June 1979 The Ubiquitous B Tree Computing Surveys 11 2 123 137 ISSN 0360 0300 doi 10 1145 356770 356776 Cormen Thomas Leiserson Charles Rivest Ronald Stein Clifford 2001 Introduction to Algorithms vid druge MIT Press and McGraw Hill s 434 454 ISBN 0 262 03293 7 Chapter 18 B Trees Folk Michael J Zoellick Bill 1992 File Structures vid 2nd Addison Wesley ISBN 0 201 55713 4 Knuth Donald 1998 Sorting and Searching The Art of Computer Programming Volume 3 vid druge Addison Wesley ISBN 0 201 89685 0 Section 6 2 4 Multiway Trees pp 481 491 Also pp 476 477 of section 6 2 3 Balanced Trees discusses 2 3 trees Pershodzherela red Bayer Rudolf McCreight E July 1970 Organization and Maintenance of Large Ordered Indices Mathematical and Information Sciences Report No 20 Boeing Scientific Research Laboratories Arhiv originalu za 14 serpnya 2020 Procitovano 24 sichnya 2017 Bayer Rudolf 1971 Binary B Trees for Virtual Memory Proceedings of 1971 ACM SIGFIDET Workshop on Data Description Access and Control San Diego California Arhiv originalu za 31 serpnya 2015 Procitovano 24 sichnya 2017 Div takozh red Spisok struktur danih Spisok algoritmiv Dvijkove derevo poshuku Dereva poshuku Zbalansovane derevo Chervono chorne derevoV inshomu movnomu rozdili ye povnisha stattya B tree angl Vi mozhete dopomogti rozshirivshi potochnu stattyu za dopomogoyu perekladu z anglijskoyi Divitis avtoperekladenu versiyu statti z movi anglijska Perekladach povinen rozumiti sho vidpovidalnist za kincevij vmist statti u Vikipediyi nese same avtor redaguvan Onlajn pereklad nadayetsya lishe yak korisnij instrument pereglyadu vmistu zrozumiloyu movoyu Ne vikoristovujte nevichitanij i nevidkorigovanij mashinnij pereklad u stattyah ukrayinskoyi Vikipediyi Mashinnij pereklad Google ye korisnoyu vidpravnoyu tochkoyu dlya perekladu ale perekladacham neobhidno vipravlyati pomilki ta pidtverdzhuvati tochnist perekladu a ne prosto skopiyuvati mashinnij pereklad do ukrayinskoyi Vikipediyi Ne perekladajte tekst yakij vidayetsya nedostovirnim abo neyakisnim Yaksho mozhlivo perevirte tekst za posilannyami podanimi v inshomovnij statti Dokladni rekomendaciyi div Vikipediya Pereklad Cya stattya potrebuye dodatkovih posilan na dzherela dlya polipshennya yiyi perevirnosti Bud laska dopomozhit udoskonaliti cyu stattyu dodavshi posilannya na nadijni avtoritetni dzherela Zvernitsya na storinku obgovorennya za poyasnennyami ta dopomozhit vipraviti nedoliki Material bez dzherel mozhe buti piddano sumnivu ta vilucheno veresen 2018 nbsp Ce nezavershena stattya pro informacijni tehnologiyi Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi Otrimano z https uk wikipedia org w index php title B derevo amp oldid 39873277