hierarki

struktur eller organisation som har en rangordning där varje person eller annat ingående element är överordnad, underordnad eller någonstans emellan. Man kan skilja mellan två typer av hierarkier:

  • – Ett vanligt filsystem med kataloger (mappar) kan vara hierarkiskt upplagt. Filerna läggs i kataloger som kan finnas inuti andra kataloger som i sin tur kan finnas i andra kataloger i flera led. Men det är i princip godtyckligt var en viss fil placeras i filsystemet. Filsystemet tvingar inte filer till en bestämd katalog. Ett filsystem kan därför i princip vara hur rörigt som helst, trots att det har en hierarkisk struktur;
  • Objekten i ett objektorienterat system är däremot hierarkiskt ordnade i strikt bemärkelse: underordnade objekt ”ärver” egenskaper från överordnade objekt. Det går därför inte att flytta ett objekt till en annan plats i systemet, utom möjligtvis i speciella fall och med modifieringar.

– Ordet hierarki användes från början om kyrkans uppbyggnad, men det har överförts till alla slags organisationer, från arméer till företag. Där har vi krav på att de underordnade ska rätta sig efter de överordnade. (Hierarki kommer av de grekiska orden för präst och styrelse.) – Om man ritar en hierarkisk struktur som en graf är det en riktad trädstruktur. – På engelska: hierarchy.

[datastrukturer] [informationshantering] [ändrad 7 augusti 2020]

polyhierarki

en variant av hierarkiskt ordnad information där element kan ligga under två eller flera överordnade kategorier. – Exempel: piano kan klassificeras både som stränginstrument (pianon har strängar, som gitarr och fiol) och som tangentinstrument (som orgel och synt). Om man använder en polyhierarkisk struktur för att ordna information på webben ger man användarna flera vägar till det de söker, och utvecklaren slipper välja (stränginstrument eller tangentinstrument?). Det gör det lättare att till exempel hitta en produkt i en postorderkatalog på webben. – Om man ser den polyhierarkiska strukturen som en graf kan man säga att en nod kan ha två eller fler föräldrar. En vanlig (enkel) hierarki kan ritas upp som en trädstruktur, men en polyhierarki är mer som en buske och förgrenar sig både uppåt och nedåt. – Jämför med multipelt arv.

[datastrukturer] [14 maj 2018]

riktad acyklisk graf

en graf där förbindelserna mellan noderna (kanterna) beskriver enkelriktade relationer, och där det inte går att komma tillbaka till utgångspunkten om man följer förbindelserna i angiven riktning. Sådana grafer kan bland annat åskådliggöra förlopp i tiden. – På engelska: directed acyclic graph, förkortat DAG.

[datastrukturer] [nätverk] [9 maj 2018]

binärträd

(binary tree) – en trädformad datastruktur där varje nod har högst två barn. (”Barn” är grenar, kanter, som går till direkt underordnade noder.) – En datamängd är fördelad bland noderna. Som alla trädformade datastruk­turer är trädet upp‑och‑ner­vänt med roten överst. Det kan bara finnas en rot. En nod kan ha noll, en eller två barn. En nod med noll barn kallas för löv. – Binärträd används ofta för lagring av information och för att möjliggöra sökningar. De värden som står i varje nod är då ofta hänvisningar. – Att balansera ett binärträd är att fördela noderna så att djupet från rot till löv blir så likartat som möjligt i alla förgreningar. Binärträdets höjd (det största djupet som finns i trädet) ska alltså ligga så nära det genomsnittliga djupet som möj­ligt. Den genomsnittliga söktiden, om man söker efter värden som kan finnas var som helst i binärträdet, blir kortast om trädet är balanserat. – Att sortera ett binärträd är att se till att värdena på noderna är ordnade enligt ett system – alfabetisk, nummerordning eller annat. Det innebär att nya värden måste läggas in på en bestämd plats i trädet, inte bara där det är enklast att lägga det. I ett sorterat träd kan man lätt ta kortaste vägen till ett visst värde. – Att se till att ett binärträd är både balanserat och sorterat kan vara omöjligt.

[datastrukturer] [9 mars 2017]

rotationskö

(round robin) – i programmering: med tidsbegränsning. – Rotationskön  är en datastruktur. Processer som står i kö behandlas i tur och ordning (först in – först ut), men det får bara ta en viss begränsad tid för varje process (sam­ma tid för alla). Om processen inte kan avslutas i tid avbryts behandlingen, och processen får ställa sig sist i kön. Fördelen med principen rotations­kö är att en tidskrävande pro­cess inte kan block­era andra processer. – Kallas på svenska också för cirkulär processlista.

[datastrukturer] [ändrad 16 februari 2017]