border=0

Klassifikaasje- en gegevensstruktuer-foarbylden

As folget út 'e hjirboppe definiearje, stelt de datastruktuering it bestean (of ynrjochting) fan in soarte fan relaasje (relaasje) tusken har. Ofhinklik fan it aard fan dizze relaasjes kinne ferskate klassifikaasjefunksjes fan datastrukturen ûnderskiede.

De earste fan dat is de oarderrelaasje . Troch opdracht fan gegevens, wurde de struktueren ferdield yn opdielde en net oardere.

Yn oardene struktueren binne de eleminten yn opdracht regele yn oerienstimming mei de wearde fan in bepaalde funksje. De ienfâldige funksje is it ramtnûmer fan it elemint: de oprjochting fan opdracht yn oerienstimming mei it getal wurdt nummerearring neamd . Boppedat hat as de folsleine set ien ienfederlike identifier hat (bygelyks M), dan binne yndividuele gegevens in eigen identifisearre - yndekses (bygelyks M 5 of M b ). De meast foarkommende wurdt de yndeks as in integer jûn, hoewol it net nedich is - elke karakter út in finite alfabet kin as in yndeks handelje. De lexikografyske opdracht fan 'e yndielen bepaalt de relaasje tusken eleminten fan' e struktuer, d. it elemint M 6 folget it elemint M 5 , en it elemint M a leit foar it elemint M b . In foarbyld fan struktueren wêrmei de opdracht dien wurdt troch elemint nûmer binne arrays. It sekpersnûmer fan in elemint kin beskôge wurde as in eksterne funksje dy't ien elemint oernimme kin fan har wearde. Bygelyks, it registraasje nûmer fan in dokumint wurdt allinich bepaald troch de tiid dy't it by de ynstânsje komt, en net troch syn ynhâld. Neist it nûmjen brûke gebrûk fan gebouwen troch de wearde fan in bepaalde ynterne funksje, bygelyks nammen yn alfabetyske opdracht of groep fan bedriuwen yn ôfstammelingen fan har profitabiliteit - sadat dizze opkommens ranget.

In foarbyld fan unorderde struktueren is fêst , de oarder fan eleminten is net yndield yn; It iennichste dat kin foar elke spesifike gegevens ynsteld wurde is har gehiel (of net te oandien) te hearren oan it selekteare set.

De folgjende klassifikaasjefunksje fan 'e struktuer is homogeneity. Homogeneus befetsje struktueren dy't elemintêre gegevens fan mar ien type hawwe. Heterogene struktueren kombinearje gegevens fan ferskate soarten. Foarbylden fan homogene struktueren binne arrays, sets, stacks. Foar heterogene struktueren binne rekken.

In oar teken is it aard fan 'e relaasje tusken eleminten. Neffens de ûnderlinge subordinaasje fan 'e eleminten fan' e datastruktuer binne ferdield yn linear en netlinear.

Yn lineêre struktueren binne alle eleminten lykweardich. Dit binne rigels, set, stap, wachtrige.

Yn netlineare struktueren tusken eleminten binne relaasjes fan subordinaasje of se kinne oansluten troch logyske betingsten. Dizze bepale beammen, grafiken, frames.

Op grûn fan de identifisearre kritearia kritearje wy inkele datastrukturen en karakterisearje.

Array

In array is in bestelde lineêre set fan homogene gegevens.

Kommentaar oer de definysje:

De term "besteld" betsjut dat de eleminten fan 'e array nûmere binne;

De term "linear" betsjuttet de gelikensens fan alle eleminten;

De term "homogene" betsjut de folgjende: yn it gefal as in array út elemintêre gegevens foarme is, kin dat gegevens fan inkeld ien type wêze, bygelyks in array fan nûmers of in oantal tekens; It is lykwols mooglik dat de eleminten fan it array kompleks (struktureel) gegevens wêze moatte, bygelyks in array fan arrays - yn dit gefal "homogene" betsjut dat alle eleminten deselde struktuer en grutte hawwe.

It oantal indices dy't de posysje fan in elemint bepale yn in array wurdt de dimensje fan it array neamd.

Dus, as de yndeks unyk is, wurdt de array ien-dimensional neamd; Faak wurdt sa'n soarte array ek in fektor, rige of kolom neamd. Om de eleminten fan in ien dimensjeel array te skriuwen, is de oantsjutting m i ; yn programmearrings binne de symboalen m (i) of m [i] akseptearre .

In array dêr't eleminten twa indices hawwe, wurdt twa-dimensional of matrix neamd. Foarbyld fan 'e oantsjutting: G [3,5]; wylst de earste yndeks it rige nûmer is, en de twadde yndeks is it kolomnûmer by it krúspunt fan dat dit elemint is.

Arrays mei trije yndeksjes wurde trije dimensje , ensf. De maksimale dimensje fan in array kin beheind wurde troch de syntaksis fan guon programmearringen, of kin net sa beheiningen hawwe.

De maksimale wearde fan 'e yndielen bepaalt de grutte fan' e array. De grutte fan 'e array is oanjûn yn' e programmeblockblok, omdat by de útfiering fan it programma de needsaaklike oantal memoryaasje reservearre is foar it bewarjen fan eleminten fan it array. As yn 'e útfiering fan it programma de grutte fan' e array net feroaret (of kin net feroare wurde), dan yn dit gefal sprekt men fan arrays fan in fêste grutte; As de bepaling fan 'e grutte fan' e array of har feroaring yn 'e rin fan it programma foarkomt, dan wurde sokke rigen dynamysk neamd (dynamysk beskreaun).

De tastelbere set fan operaasjes op 'e eleminten fan in array wurdt bepaald troch it type gegevens (elemintêr of strukturearre) fan hokker rigel is foarme. Yn guon programmearrings wurdt oer de array as gehiel de opdielingoperaasje M definiearre: = <ekspresje> - yn dit gefal wurde alle eleminten fan 'e array deselde wearde lyk oan de berekkene wearde fan' e ekspresje; In assignment-operaasje is ek mooglik foar twa arrays fan deselde grutte, grutte en dimensje M2: = M1 - eleminten -by - eleminten wurde oantsjutten (M2 (i, j, k ...): = M1 (i, j, k ...)).

In spesjaal plak is beset troch karakter-arrays - se wurde strings of string-gegevens neamd (bygelyks it type String yn PASCAL). Mei har is in hiele opset fan operaasjes mooglik dat ûnfoldwaande binne foar inkeld karaktergegevens. Earst is it in ferbûn (feriening) fan stringen mei de formaasje fan in nije string. Dêrnjonken binne der wurksumheden om in part fan 'e snaar te ferfangen, en ek it bepalen fan syn numerike eigenskippen.

Stap, turn

De stap (winkeljen) en de wachtrige wurde besteld, linear, net-unifoarmige struktueren. Dizze struktueren binne ynfierd yn 'e foarm fan spesjaal organisearre gebieten fan komputer RAM of as ûnôfhinklike blokken fan ûnthâld. Yn 'e stap binne spesjale sellen (of stapelbewegingregistraasjes) oan elkoar ferbûn mei sadanich as de gegevens yn de earste selle ynfierd binne, de ynhâld fan alle oaren ferpleatse nei de neistlizzende, en as it lêzen wurdt de ynhâld ferpleatst troch de sellen, lykas yn figuer. 6.2. Mei oare wurden, it ynstarten yn 'e stap is allinich mooglik fia de earste sel (mooglik boppe), sadat de earste ynformaasje dy't yn' e lêste * ynfierd is, lykas de passazjier fan 'e buorreke bus, wurde earst weromfine.

* Faak wurdt de stapel LIFO- ûnthâld neamd ( L ast- I n F o- o-o ut: "lêst yn, earne út").

It iennichste ferskil tusken de wachtrige en de stap is dat de ynformaasje útdrukt wurdt yn 'e folchoarder "earst yn, earst út", d. fan 'e boaiem fan' e stap.

Sadwaande hawwe de gegevens in opdracht en se binne gelikense - dus is de struktuer bestellend en linear. Yn it algemienlik gefal kinne datazellen fan ferskillende soarten yn 'e sellen fan' e stapke steane - neffens dizze funksje is de struktuer heterogeneus.

De beskreaune metoade foar it organisearjen fan gegevens is handich as it wurket mei routines, tsjinsten ynbreuken, en in tal problemen oplossje.

Tree

In beam of hierarchy is in foarbyld fan in net-lineêre struktuer. Dêrby is in elemint fan elke nivo (mei útsûndering fan 'e heechste) yn ien en iennich elemint opnommen fan it kommende (hegere) nivo. It elemint fan 'e heechste nivo wurdt de root neamd, en it leechste nivo wurdt de blêden neamd.

It skema fan sokke struktuer wurdt yn 'e sifers werjûn. Yndividuele eleminten kinne homogene of net wêze. In foarbyld fan sa'n organisaasje binne de triemtruktueren op komputer eksterne opslachapparaten.

Count

Faak binne relaasjes tusken gegevens fertsjintwurdige as in grafyk - in kolleksje punten en rigels, dêr't eltse line twa punten ferbynt. Yn kompjûterwitt krije in punt de betsjutting fan in elemint fan in struktuer (systeem, data, ensfh.), En rigels, de betsjutting fan 'e relaasje tusken eleminten. Litte wy bekend meitsje mei in tal termen dy't ferbân hâlde mei it gebrûk fan grafiken.

Punten wurde ferwizings neamd fan de graf, linen - rânen. As in kante twa rintjes ferbynt, dan sizze se dat de kante ynfalle is foar dizze hoeken, en de hoeken sels wurde neist neamd . It oantal kanten, dy't foarkomme oan in vertex, wurdt de grûn fan 'e vertex neamd. As twa rânen yntreep binne oan deselde pear skippen, wurde se multiples. De râne wêryn't beide rintiden oerienkomt wurdt in loop neamd.

In fig. 6.3, a. Graf 1 wurdt oantsjutte troch in list mei kanten (1,2,3,4) en in list fan rigen, dêr't elke kant in pear kearen oanbe>a (1,2); b (1,4); c (2, 4); 6 (2.3); e (3,4); f (2,3); g (4.4).

Oanbiede pearen fan rjochthoeken: (2,3), (2,4), (1,2), (1,4), (3,4). Rib d is in loop; rinnen d en f binne muldigers. De ôfdielingen fan skaaimerken 2 en 4 binne 4; vertices 3 -3; vertices 1 - 2 .

De kante dy't de leauwen ferbynt kin in rjochting hawwe - dan wurdt it oriënt neamd en wurdt fertsjintwurdige troch in pylk. In grafyk wêryn't alle rânen oriïntearre binne wurde oriïnearre neamd; De rânen wurde faak hjitte argeken. Arcs wurde multipelûmer neamd as se deselde streken ferbine en oergean yn rjochting. As in bôge oanwiisd wurdt, is in vertex altyd earst oanjûn, wêrfan it begjint, bygelyks yn fig. 6.3, b (2,3).

De rûte is in folchoarder fan rigen wêryn't it ein fan 'e foarige kante tsjinnet mei it begjin fan' e neikommende, bygelyks a , c, e op kolom 1. In rûte wêryn de finstreeks fermindere is mei de earste begon wurdt in syk neamd, bygelyks c , e, d op kolom 2 In graf wurdt oansluten neamd as der in rûte is tusken elke twa fan syn witen. In oansluten grafyk mei n rintiten befettet op syn minst n -1 rânen.

Neffens de klassifikaasje dy't earder beskôge is, is de graf in befêstige, net-lineêre, inhomogene struktuer. It begryp fan in grafyk, troch syn dúdlikens en hege generaal yn kompjûterwittenskip, docht as wichtichste middel om beskriuwing fan datastruktueren, systeemen en de oarder fan aksje taken. In foarbyld soe in blokdiagram wêze fan it programma.

Fanút it punt fan praktyske gebrûk fan grutte be>

In struktuer wurdt in tabel neamd, en har aparte line is in record (logyske record). Troch it grutte be>





Sjoch ek:

Haadstik 4. Fertsjintwurdiging en ferwurkjen fan getallen yn in komputer

Modellen folsleine en ynformeleel

Grafike foarm fan opnimmen

Elke nonstruktuerlike algoritme kin lykwols lykwols struktureel algoritme oanlein wurde.

Foarbyld 2.7

Gean werom nei Tafel Ynhâld: Teoretyske Stiftingen fan Computer Science

2019 @ bibinar.info