www.wikidata.uk-ua.nina.az
Mnozhina abstraktnij tip danih i struktura danih v informatici ye realizaciyeyu matematichnogo ob yekta skinchenna mnozhina Dani tipu mnozhina dozvolyayut zberigati obmezhene chislo znachen pevnogo tipu bez pevnogo poryadku Povtorennya znachen yak pravilo nepripustimo Za vinyatkom togo sho mnozhina v programuvanni skinchenne vono zagalom vidpovidaye koncepciyi matematichnoyi mnozhini Dlya cogo tipu v movah programuvannya zazvichaj peredbacheni standartni operaciyi nad mnozhinami Zalezhno vid ideologiyi rizni movi programuvannya rozglyadayut mnozhinu yak prostij chi skladnij tip danih Zmist 1 Teoriya tipiv 2 Operaciyi 2 1 Osnovni teoretiko mnozhinni operaciyi 2 2 Statichni mnozhini 2 3 Dinamichni mnozhini 2 4 Dodatkovi operaciyi 3 Realizaciya 4 Multimnozhina 5 PosilannyaTeoriya tipiv red V teoriyi tipiv mnozhini v osnovnomu ototozhnyuyutsya z indikatornoyu funkciyeyu harakteristichnoyu funkciyeyu takim chinom mnozhina znachen tipu A displaystyle A nbsp mozhe buti poznachena 2 A displaystyle 2 A nbsp abo P A displaystyle P A nbsp Pidtipi abo pidmnozhini mozhut buti zmodelovani utochnyuvalnimi tipami a faktor mnozhini zamineni setoyidami en Harakteristichna funkciya F displaystyle F nbsp mnozhini S displaystyle S nbsp viznachayetsya tak F x 1 if x S 0 if x S displaystyle F x begin cases 1 amp text if x in text S 0 amp text if x not in text S end cases nbsp Teoretichno velika kilkist inshih abstraktnih struktur danih mozhe rozglyadatis yak mnozhina z dodatkovimi operaciyami i abo dodatkovimi aksiomami nakladenimi na standartni operaciyi Napriklad abstraktna struktura danih kupa rozglyadayetsya yak mnozhina struktur iz min i S i operaciyeyu yaka povertaye najmenshij element Operaciyi red Osnovni teoretiko mnozhinni operaciyi red Viznachayut taki operaciyi algebri mnozhin union i S T i povertaye ob yednannya mnozhin S i T intersection i S T i povertaye peretin mnozhin S i T difference i S T i povertaye riznicyu mnozhin S i T subset i S T i predikat sho pereviryaye chi ye mnozhina S pidmnozhinoyu mnozhini T Statichni mnozhini red Tipovi operaciyi yaki zadayutsya statichnoyu strukturoyu mnozhini S is element of i x S i pereviryaye vhodzhennya znachennya X u mnozhinu S is empty i S i pereviryaye chi ye mnozhina S porozhnoyu size i S i abo cardinality i S i povertaye chislo elementiv S mnozhini iterate i S i funkciya sho povertaye odin dovilno vibranij element mnozhini S pri kozhnomu vikliku enumerate i S i povertaye u dovilnomu poryadku spisok elementiv yaki mistyatsya u mnozhini S build span class mwe math element span class mwe math mathml inline mwe math mathml a11y style display none span span stvoryuye mnozhinu zi znachennyami x 1 x 2 x n displaystyle x 1 x 2 x n nbsp create from collection stvoryuye novu mnozhinu yaka mistit u sobi vsi elementi danoyi sukupnosti abo vsi elementi povernuti iteratorom Dinamichni mnozhini red Dinamichni strukturi zazvichaj dodayut create stvoryuye novu spochatku porozhnyu mnozhinu create with capacity n stvoryuye novu spochatku porozhnyu mnozhinu ale rozmirnistyu n add x S dodaye element x do mnozhini S yaksho takogo she ne isnuye remove S x vidalyaye element x iz mnozhini S yaksho isnuye capacity S povertaye maksimalne chislo elementiv yake mozhe mistiti S Deyaki mnozhinni strukturi mozhut dozvoliti sobi vikoristovuvati lishe deyaki iz cih operacij Potreba kozhnoyi operaciyi bude zalezhati vid realizaciyi a takozh konkretnih znachen sho vhodyat do mnozhini i poryadku u yakomu voni roztashovani u mnozhini Dodatkovi operaciyi red Isnuye bagato inshih operacij sho mozhut buti viznacheni shodo terminiv vishe taki yak pop S povertaye dovilno vibranij element mnozhini S i vidalyaye jogo z S pick S povertaye dovilno vibranij element mnozhini S Z funkcionalnoyi tochki zoru mutator ror mozhe buti interpretovanij yak para selektoriv pick rest de rest povertaye mnozhinu sho vklyuchaye v sebe usi elementi okrim vibranogo map F S povertaye mnozhinu riznih znachen otrimanih vid F do kozhnogo elementa S filter P S povertaye pidmnozhinu elementiv sho mistyatsya u S ta zadovolnyayut danij predikat P fold A span class mwe math element span class mwe math mathml inline mwe math mathml a11y style display none span span F S povertaye znachennya A pislya zastosuvannya formuli span class mwe math element span class mwe math mathml inline mwe math mathml a11y style display none span span dlya kozhnogo elementa e u S dlya deyakoyi binarnoyi operaciyi F F povinna buti asociativnoyu i komunikativnoyu dlya togo shob buti chitko viznachenoyu clear S vidalyaye usi elementi S equal S span class mwe math element span class mwe math mathml inline mwe math mathml a11y style display none span span S span class mwe math element span class mwe math mathml inline mwe math mathml a11y style display none span span pereviryaye chi ye dvi mnozhini rivnimi tobto mayut usi odnakovi elementi hash S povertaye hesh znachennya dlya statichnoyi mnozhini S take yaksho equal S span class mwe math element span class mwe math mathml inline mwe math mathml a11y style display none span span S span class mwe math element span class mwe math mathml inline mwe math mathml a11y style display none span span todi hash S span class mwe math element span class mwe math mathml inline mwe math mathml a11y style display none span span hash S span class mwe math element span class mwe math mathml inline mwe math mathml a11y style display none span span Operaciyi dlya mnozhin sho mistyat elementi specialnogo tipu sum S povertaye sumu usih elementiv mnozhini S dlya deyakogo viznachennya sumi Napriklad suma dlya cilih abo dijsnih chisel mozhe buti viznachena tak fold 0 add S collapse S dano mnozhinu mnozhin povertaye ob yednannya ryadu mnozhin Napriklad collapse 1 2 3 1 2 3 mozhe rozglyadatis yak suma flatten S dano mnozhinu sho skladayetsya iz mnozhin i atomnih elementiv elementi sho ne ye mnozhinoyu povertaye mnozhinu elementi yakoyi ye pochatkovoyu mnozhinoyu verhnogo rivnya abo elementi mnozhini yaki vhodyat do ciyeyi mnozhini Inshimi slovami vidalyaye riven vkladenosti takij yak collapse ale dozvolyaye atomi Ce mozhe buti zrobleno odin raz abo dekilka raziv dlya togo shob otrimati mnozhinu tilki atomnih elementiv Napriklad flatten 1 2 3 1 2 3 nearest S x povertaye element mnozhini S sho ye najblizhchim do znachennya x min S max S povertaye minimalnij maksimalnij elementi mnozhini S Realizaciya red Mnozhini mozhna realizuvati vikoristovuyuchi rizni strukturi danih yaki zabezpechuyut rizni chasovi zatrati i prostorovi kompromisi dlya riznih operacij Deyaki realizaciyi stvoreni dlya togo shob pokrashiti efektivnist duzhe specializovanih operacij takih yak nearest abo union Realizaciyi opisani dlya zagalnogo vikoristannya yak pravilo pragnut optimizuvati element of add ta delete operaciyi Prostoyu realizaciyeyu ye vikoristannya spisku abstraktnij tip danih ignoruyuchi poryadok elementiv ta unikayuchi yih povtoru Ce prosto ale neefektivno bo operaciyi na perevirku nalezhnosti u mnozhini chi vidalennya elementu O n povinni skanuvati uves spisok Zamist cogo mnozhini chasto realizuyutsya z vikoristannyam bilsh efektivnih struktur danih a same riznih vidiv derev prefiksnih derev abo hesh tablic Tak yak mnozhini mozhna interpretuvati yak shos na zrazok karti indikatornoyu funkciyeyu voni zazvichaj realizuyutsya u toj samij sposib sho i chastkovi karti asociativni masivi u comu razi znachennya kozhnoyi pari klyucha znachennya maye tip odinici abo kontrolnogo elementa napriklad 1 a same zbalansovane derevo dlya vidsortovanogo masivu O log n dlya bilshosti operacij abo hesh tablicyu dlya nevidsortovanogo masivu O 1 v serednomu vipadku ale O n v najgirshomu vipadku dlya bilshosti operacij Vidsortovana linijna hesh tablicya mozhe buti vikoristana dlya zabezpechennya determinovano vporyadkovanih mnozhin Krim togo u movah yaki pidtrimuyut karti a ne mnozhini mnozhini mozhut buti realizovani na osnovi karti Napriklad zagalna idioma u movi programuvannya Perl sho konvertuye masiv u hesh chiyi parametri prijmayut parametri kontrolnogo elementa dlya vikoristannya yak masivu my elements map gt 1 elements Mnozhina v PaskaliU movi Paskal mnozhina skladovij tip danih yakij zberigaye informaciyu pro prisutnist u mnozhini ob yektiv bud yakogo rahunkovogo tipu Potuzhnist cogo tipu viznachaye rozmir mnozhini 1 bit na element U Turbo Pascal ye obmezhennya na 256 elementiv u deyakih inshih realizaciyah ce obmezhennya oslablene Priklad roboti z mnozhinami type viznachayemo bazovi dlya mnozhin zlichennij tip i tip diapazon colors red green blue smallnumbers 0 10 viznachayemo mnozhini z nashih tipiv colorset set of colors numberset set of smallnumbers mozhna i ne zadavati tip okremo anothernumberset set of 0 20 ogoloshuyemo zminni tipu mnozhin var nset1 nset2 nset3 numberset cset colorset begin nset1 0 2 4 6 8 10 zadayemo u viglyadi konstruktora mnozhini cset red blue prostim pererahuvannyam elementiv nset2 1 3 9 7 5 poryadok pererahuvannya ne vazhlivij nset3 pusta mnozhina include nset3 7 dodavannya elementa exclude nset3 7 viluchennya elementa nset1 0 5 mozhlivo zadavati elementi diapazonom nset3 nset1 nset2 ob yednannya nset3 nset1 nset2 peretin nset3 nset1 nset2 riznicya if 5 in nset2 or perevirka na vhodzhennya elementa green in cset then end Multimnozhina red Dokladnishe MultimnozhinaUzagalnennyam ponyattya mnozhini ye multimnozhina chi sumka angl bag yaka podibna na mnozhinu ale dozvolyaye dublikati povtorennya odnakovih znachen Posilannya red Cya stattya ne mistit posilan na dzherela Vi mozhete dopomogti polipshiti cyu stattyu dodavshi posilannya na nadijni avtoritetni dzherela Material bez dzherel mozhe buti piddano sumnivu ta vilucheno cherven 2017 nbsp Ce nezavershena stattya pro strukturi danih Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi Otrimano z https uk wikipedia org w index php title Mnozhina tip danih amp oldid 37253151