19 Hashtabeller. Noter. PS1 -- Hashtabeller. Hashing problemet. Hashfunktioner. Kollision. Søgning og indsættelse.
|
|
|
- Carl Kronborg
- 10 år siden
- Visninger:
Transkript
1 19 Hashtabeller. Hashing problemet. Hashfunktioner. Kollision. Søgning og indsættelse. Sammenligning af hashtabeller og søgetræer. 281
2 Hashing-problemet (1). Vi ønsker at afbilde n objekter på en tabel med m indgange. Nøgle 1 "Jensen" 1 "Madsen" n. "Olsen" m h : Nøgle -> 1.. m Lad os antage, at vi har et antal objekter, hver med en nøgle, som vi ønsker at gemme i en tabel. Objekternes placering i tabellen skal ene og alene bestemmes på baggrund af nøglens værdi. En nøgle antages at identificere et objekt entydigt. Vi ønsker med andre ord at definere en funktion h, som afbilder nøgler ind i intervallet af indeces af tabellen. En sådan funktion kaldes en hashfunktion. "Hashing" betyder "at hakke i stykker" eller "at rode sammen". Navnet er taget i anvendelse, fordi hashing kan opfattes som om man "hakker nøglen i stykker" og benytter dele af nøglen som basis for at organisere objekter i en "rodet" samling i en tabel. "Nøgle transformation" ("key transformation") er en alternativ betegnelse for "hashing". Hvis en hashfunktion kan beregnes meget effektivt (kører meget hurtigt), kan man, givet en nøgle N, meget hurtigt finde objektet med nøglen N. Dette er attraktivt; og tilmed udgør dette et søgeprincip, der er let at forstå. Hashtabellen antages at være et array, hvor der er direkte tilgang til elementer med givne indeces. Ovenfor er objekterne data om personer, og nøglerne er valgt som personernes efternavne. Hashing kan både benyttes på tabeller, som er lagret i primært lager (RAM), og i tabeller på sekundært lager (disk). 282
3 Hashing problemet (2) Konstant, lille antal objekter ( = n ) med kendte, faste nøgler Variabelt, lille antal objekter ( = n ) med ikke-kendte nøgler Variabelt, stort antal objekter ( = n ) med ikke-kendte nøgler Tabel med m indgange, n Š m. Tabel med m indgange, n Š m. Forholdsvis lille tabel med m indgange, n >> m. Hvordan finder man en god hashing-funktion? Hvordan håndterer man kollision? Tilfælde 1: I tilfælde 1 er vi f.eks. i den situation, at vi skal indplacere 31 objekter i en tabel, som har 41 indgange. Vores opgave går således ud på, at lave en funktion fra de 31 kendte nøgler (så som strenge, der repræsenterer 31 efternavne på personer) ind i intervallet [1..41], således at intet objekt lageres oven i et andet. Sådanne funktioner er sjældne! Der er 41^31 mulige funktioner (hvert af de 31 elementer kan afbildes over på enhver af de 41 pladser). Men der er kun 41*40*...*11 funktioner, der afbilder de 31 objekter over i indbyrdes forskellige pladser i tabellen. Hvis man regner på dette, finder man ud af, at ca. kun 1 ud af hver 10 million funktion er brugbar. (Dette eksempel er taget fra Knuth, Sorting and Searching). Tilfælde 2: Dette er en mere realistisk situation, men det er desværre også helt håbløst at forestille sig, at man kan afbilde ukendte objekter med ukendte nøgler over i en tabel, således at der ikke opstår sammenfald. Hvis eller når der opstår en situation, hvor to objekter afbildes over i samme indgang taler vi om kollision. Tilfælde 3: Dette er den typiske og realistiske situation. Universet af objekter kunne være alle danskere, tabellen kunne være på 700 elementer, og problemet kunne være at gemme information om alle studerende på Afdeling for Matematik og Datalogi. Nøglen vil sikkert være personnummeret. Man kunne i princippet allokere en tabel med indeces fra minimumpersonnummer til maximum_personnummer, altså en tabel med én plads pr. dansker. Men da vi kun vil gemme information om en meget lille del af danskerne, bliver udnyttelsen af en sådan tabel meget dårlig. Opgave. Denne opgave går ud på at kaste lys over tilfælde 1. Antag vi har en mængde af personer {marie, arne, anders, lars, martin, hanne}. Led efter en funktion, der afbilder disse seks navne ind i forskellige indgange i en tabel af størrelse 10. Hvor sjælden er en sådan funktion? Det er vigtigt at indse de konkrete såvel som de principielle problemer i at finde en sådan funktion. 283
4 Hash-funktioner (1). h : Nøgle -> 0.. m-1 En hashfunktion bør fordele objekterne jævnt på tabellens indices. Eksempel på en simpel hashfunktion: h: Tekststreng -> 0.. m-1 h(s) = ( (ord(c1) +... ord(ck)) mod m) "c1 c2... ck" En mængde af tekststrenge er ofte "sammenklumpede". Det må tilstræbes, at "sammenklumpede" strenge ikke afbildes i samme indeks af hashfunktionen. Tallet m vælges ofte som et primtal. Angående den simple hash-funktion: For at gøre hash-funktionen hurtig kan man være fristet til kun at tage et vist antal tegn i betragtning først (eller sidst) i strengen, i beregningen af summen af ordinal-værdier. Det betyder, at alle strenge, der starter (eller slutter) med de samme bogstaver, har en risiko for at blive afbildet i det samme indeks af hash-funktionen. Alle strenge, som er en permutation af de samme bogstaver, afbildes under alle omstændigheder i samme indeks med ovenstående hashfunktion. Når vi siger, at en mængde af tekststregne ofte er "sammenklumpede" mener vi, at teksstrengene ofte fordeler sig i delmængder, der har et stort sammenfald af bogstaver og delstrenge. Som et eksempel på en sådan delmængde kan man tænke på alle afledninger af det sammen ord. Der henvises iøvrigt til afsnit 5.2 af Weiss, som indeholder en vældig god diskussion af hashfunktioner. 284
5 Hash-funktioner (2). Eksempel på en hashfunktion, hvor nøglerne er heltal: M h: N-cifret-tal -> h(k) K * K (2N cifret tal) M midterste cifre værdien af h(k) Opgave: Lad os antage, at nøglen i vore dataobjekter er danske person-numre, og at hashtabellen har en størrelse på elementer ( ). Diskuter problemerne i at vælge forskellige, sammenhængende sekvenser på fire cifre af et personnummer som værdien af hash-funktionen. Hvad bliver udnyttelsesgraden af en hashtabel, hvis de første fire cifre i personnummeret anvendes som værdien af hashtabellen. Vurder også udnyttelsesgraden, hvis de sidste fire cifre i personnummeret anvendes. Vurder hvordan ovenstående hashfunktion vil virke på personnumre. Problemerne skal bl.a. ses i lyset af, at hashfunktioner skal kunne bruges på f.eks. alle personer i en given population, såsom alle børn i en skoleklasse, eller alle personer i en husmoderforening (og give en passende spredning i tabellen). 285
6 Håndtering af kollision (1). Åben hashing med direkte kædning To objekter, der hashes på samme indeks, lagres i en kædet liste, som har udgangspunkt i tabellen. Kollision forekommer oftere, end man tror. Betragt kollisionsproblemet: "N mennesker er samlet til fest. Hvad er det mindste N, således at sandsynligheden for at to af festdeltagerne har samme fødselsdag (dag og måned) er større end 0.5". Det kan vises, at det mindste sådanne N er 23. I vores sammenhæng betyder det, at hvis 23 eller flere tilfældige elementer (personer) afbildes i en tabel med 365 indgange via en hashfunktion, som afspejler deres fødselsddag, er sandsynligheden for, at "det går godt" (at der ikke sker en kollision) mindre end 0.5. Ovenstående analogi er lånt fra Knuth (som igen har lånt det fra en anden, angivet kilde). 286
7 Håndtering af kollision (2). Lukket hashing. "Linear probing": "Quadratic probing": Alle pladser i tabellen udnyttes. Tendens til sammenklumpning. Tabellen udnyttes ikke fuldt ud. Større spredning. De stribede pladser i tabellen indeholder eksisterende objekter, som er indsat på det tidspunkt, hvor vi indsætter vore objekter 1 og Det antages, at objekt 1 indsættes før objekt De stiplede pile angiver mønstret af"probes", altså hvike undersøgelser der foregår, for at finde en tom plads i tabellen. Lineær probing: Ved lineær probing leder man under indsættelse cyklisk efter en tom plads. Tilsvarende, når man søger efter et objekt med en nøgle N, hvor man via hashing-funktionen rammer det tredie felt i tabellen, søger man cyklisk efter et objekt, som har nøglen N. Hvis man finder et tomt felt i tabellen, kan man konkludere, at objektet ikke er tilstede. Det fremgår klart, at der sker en (uønsket) sammenklumpning af objekter i tabellen, som har samme hashværdi på deres nøgler. Quadratic probing: Vi antager i eksemplet ovenfor, at to objekter begge hashes til 3. position i tabellen. Ved kvadratisk probing leder man ved indsættelse efter 1., 4., 9., plads efter den tredie plads, cyklisk i tabellen. I eksemplet, hvor tabelstørrelsen er 10, vil vi oprindelig via hashing prøve plads nummer 3. Dernæst vil vi via probing prøve plads 4, 7 og Man kan observere, at man måske her vil komme i den situation, hvor man ikke kan finde en tom plads, selv om en sådan eksisterer. I Weiss vises det, at hvis tabellens størrelse er et primtal, vil mindst halvdelen af tabellen blive afsøgt for en tom plads, inden vi møder en plads, vi allerede har afprøvet. 287
8 Søgning, indsættelses og sletning i en lukket hashtabel. Søg(N: Nøgle, H: Hashtabel): Søgeresultat : Præbetingelse: H må ikke være fyldt til grænsen. i := hash(n); while H[i] er optaget and then H[i].nøgle N do i := next(i) ; if H[i] er optaget and then H[i].nøgle = N then returner dataobjektet i H[i] fundet på i-te plads. else { H[i] er fri eller slettet } returner "ikke fundet og indeks i er brugbar ved indsættelse Indsæt (D: Dataobjekt, H: Hashtabel): Præbetingelse: H må ikke være fyldt til grænsen. let søgeresultat be Søg(D.nøgle, H) in if søgeresultat er ikke fundet og indeks i er fri then Indsæt D på i-te plads i H Funktionen next: index -> index linear probing quadratic probing Slet(N: Nøgle, H: Hashtabel): Præbetingelse: H må ikke være fyldt til grænsen. let søgeresultat be Søg(N, H) in if søgeresultat er et dataobjekt med nøgle N på i-te plads then Marker i-te plads i H som slettet. Ovenstående operationer viser principperne i hhv. søgning, indsættelse og sletning i en lukket hashtabel. Funktionen Søg returnerer enten (i tilfældet fundet) det eftersøgte dataobjekt, eller (i tilfældet ikke fundet) det indeks hvori et dataobjekt med den givne nøgle kan indsættes. Derved slipper vi for at gennemføre den samme probing to gange i træk i det tilfældet, hvor vi skal indsætte et nyt dataobjekt. En indgang i tabellen kan enten være optaget, fri, eller markeret som slettet. Sidstnævnte er resultatet af det som Weiss kalder for doven sletning. Det er fatalt at fjerne et element fra en lukket hashtabel, idet det ville umuliggøre at genfinde objekter, der benytter det slettede objekt som mellemstation under probing. Prebetingelsen af Søg (og dermed de andre operationer) udtrykker, at tabellen ikke må være fyldt til grænsen. Grænsen afhænger af hvilken probingteknik vi bruger. Det essentielle er at vi i tilfælde af at objektet med nøglen N ikke findes i tabellen kan returnere en tom plads, hvor objektet kan indsættes. Alternativt skulle vi holde styr på, hvornår vi havde været hele turen rundt i tabellen (hvilket er enkelt med lineær probing). Vi antager også ved indsættelse, at der er plads til det nye dataobjekt. Ligeledes ved sletning, idet vi ellers ville komme i problemer når vi kalder Søg. Funktionen next afhænger af, om vi arbejder med lineær probing eller kvadratisk probing. Next er formuleret som en funktion af det tidligere afprøvede index. For at få dette til at virke med kvadratisk probing, må funktionen huske på, hvor mange gange den er blevet kaldt (eller bedre: man må overføre en parameter, som holder styr på dette). 288
9 Effektivitet af hashing ift. tabellens opfyldning. Forventet antal "probes" 10 linear probing ideel uniform probing Udnyttelsesgrad af hashtabel Ovenstående grafer viser sammenhængen mellem tabellens opfyldningsgrad og det forventede antal gange, man skal forsøge at finde en tom plads i tabellen. I den nederste kurve forudsættes der en kollisionshåndtering, hvor det nye forsøg på at ramme et tomt felt rammer tilfældig på tilbageblevne pladser i tabellen. I den øverste kurve forudsættes der linear probing. Benyt kun graferne til at vise tendenser. De er ikke tegnede nøjagtig nok til egentlig aflæsning af sammenhørende værdier. 289
10 Pro og cons af hashing. Hurtig indsættelse og søgning. Fast øvre grænse på antallet af objekter i tabellen. Der bør afsættes mere lager til hashtabellen, end der aktuelt udnyttes. Det er problematisk at slette elementer fra en lukket hashtabel. Sorteret udtræk af objekter fra en hashtabel er kostbart. Om sletning af data fra en hashtabel: I tilfælde af en åben hashtabel, er det ikke et problem at slette data. I tilfælde af en lukket hashtabel, vil sletning af et dataobjekt fra en hashtabel give et "hul" i tabellen, som kan forhindre os i at genfinde tilbageblevne data. Derfor kan vi kun markere dataobjekter i tabellen som slettede, og ikke rent fysisk slette dem fra en lukket hashtabel. Sidstnævnte teknik kaldes som omtalt "doven sletning" i Weiss. 290
11 Sammenligning af hashing med andre søgeteknikker. Forventet køretid: Balancerede søgetræer Hashtabeller indsættelse af element søgning efter element sletning af element sorteret udskrivning O(log n) O(log n) O(log n) O(n) O(1) O(1) - O(n log n) De vurderinger af køretiden, som for hashtabeller er O(1) ovenfor, er udtryk for average case analyse. Derimod er vurderingen af køretiden for operationerne på balancerede søgertræer udtryk for worst case analyse. De gode konstante tidskompleksiteter for hashing kræver, at hashtabellen ikke er for tæt på at være fyldt op. Hvis hashtabellen næsten er fyldt op, kan indsættelse og søgning have så høj køretid som O(n). Ultimativt vil vi ikke kunne indsætte flere elementer i hashtabellen, fordi tabellen er fuld. 291
12 Association mellem objekter via hashing. Kilde-objekter Mål-objekter. "Jensen" "Hansen" "Aalborg". "Aarhus" Placering i hashtabel Reference til associeret objekt. 9 Hidtil har vi anvendt hashtabeller som en datastruktur til indsættelse af og søgning efter objekter. På denne slide vil vi illustrere en anden anvendelse, nemlig associering/relatering af objekter. Hvis alle klasser understøtter en hash funktion, er det let at realisere en mekanisme, som muliggør at associere et vilkårligt objekt med et andet vilkårligt objekt (uanset deres type (klasse)) på en meget effektiv måde. Man kan forestille sig, alle klasser af objekter er forpligtede til at stille en hashfunktion til rådighed. Man kan også forestille sig, at den mest generelle klasse er i stand til at lave den (f.eks. ved at returnere en objektets-adresse i lageret (eller en funktion deraf) modulo tabel-størrelsen som hashværdi). I tabellen ovenfor afspejler pilene til venstre den aktuelle placering af objekterne i hashtabellen (efter probing). Første søjle anvendes til referencer til kilde-objekterne (således at Søg operationen kan erkende, om et objekt er i tabellen eller ej). Anden søjle indeholder referencer til målobjekteterne. Man kan have meget glæde af at kunne knytte vilkårlige objekter sammen på en effektiv måde. Mange Lisp-programmer benytter sig af denne mulighed. 292
18 Multivejstræer og B-træer.
18 Multivejstræer og B-træer. Multivejs søgetræer. Søgning i multivejssøgetræer. Pragmatisk lagring af data i multivejstræer. B-træer. Indsættelse i B-træer. Eksempel på indsættelse i B-træ. Facts om B-træer.
Hashing. Ordbøger Hægtet hashing Hashfunktioner Lineær probering. Philip Bille
Hashing Ordbøger Hægtet hashing Hashfunktioner Lineær probering Philip Bille Hashing Ordbøger Hægtet hashing Hashfunktioner Lineær probering Ordbøger Ordbøger. Vedligehold en dynamisk mængde S af elementer.
Danmarks Tekniske Universitet
side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. Kursusnavn: Algoritmer og datastrukturer I Kursus nr. 005. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed: timer Vægtning
Danmarks Tekniske Universitet
side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. Kursusnavn: Algoritmer og datastrukturer Kursus nr. 06. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed: timer Vægtning
Danmarks Tekniske Universitet
Eksamen 02105, F14 side 1 af 14 Danmarks Tekniske Universitet Skriftlig prøve, den 22. maj 2014. Kursusnavn: Algoritmer og datastrukturer 1 Kursusnummer: 02105 Hjælpemidler: Skriftlige hjælpemidler. Det
17 Søgning og Søgetræer.
17 Søgning og Søgetræer. Lineær og inær søgning i lister. inære søgetræer. Søgning efter knude i træ. Indsættelse af knude i træ. Søgning i og sortering af inært søgetræ. Sletning af knude i inært søgetræ.
22 Hobe. Noter. PS1 -- Hobe. Binære hobe. Minimum-hob og maximum-hob. Den abstrakte datatype minimum-hob. Opbygning af hobe. Operationen siv-ned.
22 Hobe. Binære hobe. Minimum-hob og maximum-hob. Den abstrakte datatype minimum-hob. Opbygning af hobe. Operationen siv-ned. Indsættelse i hobe. Sletning af minimalt element i hobe. Repræsentation. 327
Danmarks Tekniske Universitet
side af sider Danmarks Tekniske Universitet Skriftlig prøve, den. maj 00. Kursusnavn Algoritmer og datastrukturer Kursus nr. 06. Tilladte hjælpemidler: Alle hjælpemidler. Vægtning af opgaverne: Opgave
DATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi
DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 12 (tolv) Eksamensdag: Tirsdag den 20. marts 2012, kl.
Danmarks Tekniske Universitet
side af 2 sider Danmarks Tekniske Universitet Skriftlig prøve, den 2. maj 200. Kursusnavn Algoritmer og datastrukturer Kursus nr. 02326. Tilladte hjælpemidler: Alle hjælpemidler. Vægtning af opgaverne:
DATALOGI 1E. Skriftlig eksamen torsdag den 3. juni 2004
Københavns Universitet Naturvidenskabelig Embedseksamen DATALOGI 1E Skriftlig eksamen torsdag den 3. juni 2004 Opgaverne vægtes i forhold til tidsangivelsen herunder, og hver opgaves besvarelse bedømmes
Abstrakte datatyper C#-version
Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Abstrakte datatyper C#-version Finn Nordbjerg 1/9 Abstrakte Datatyper Denne note introducerer kort begrebet abstrakt datatype
Hashing og hashtabeller
Datastrukturer & Algoritmer, Datalogi C Forelæsning 12/11-2002 Hashing og hashtabeller Teknik til at repræsentere mængder Konstant tid for finde og indsætte men ingen sortering af elementerne Specielt
Skriftlig eksamen i Datalogi
Roskilde Universitetscenter side 1 af 9 sider Skriftlig eksamen i Datalogi Modul 1 Vinter 1999/2000 Opgavesættet består af 6 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 5% Opgave 2
i x-aksens retning, så fås ). Forskriften for g fås altså ved i forskriften for f at udskifte alle forekomster af x med x x 0
BAndengradspolynomier Et polynomium er en funktion på formen f ( ) = an + an + a+ a, hvor ai R kaldes polynomiets koefficienter. Graden af et polynomium er lig med den højeste potens af, for hvilket den
Skriftlig Eksamen DM507 Algoritmer og Datastrukturer
Skriftlig Eksamen DM507 Algoritmer og Datastrukturer Institut for Matematik og Datalogi Syddansk Universitet, Odense Mandag den 6. juni 2016, kl. 15:00 19:00 Besvarelsen skal afleveres elektronisk. Se
Skriftlig Eksamen DM507 Algoritmer og Datastrukturer
Skriftlig Eksamen DM507 Algoritmer og Datastrukturer Institut for Matematik og Datalogi Syddansk Universitet, Odense Tirsdag den 24. juni 2014, kl. 10:00 14:00 Besvarelsen skal afleveres elektronisk. Se
Talrækker. Aktivitet Emne Klassetrin Side
VisiRegn ideer 3 Talrækker Inge B. Larsen [email protected] INFA juli 2001 Indhold: Aktivitet Emne Klassetrin Side Vejledning til Talrækker 2-4 Elevaktiviteter til Talrækker 3.1 Talrækker (1) M-Æ 5-9 3.2 Hanoi-spillet
Skriftlig Eksamen Algoritmer og Datastrukturer (dads)
Skriftlig Eksamen Algoritmer og Datastrukturer (dads) Datalogisk Institut Aarhus Universitet Tirsdag den 27. maj 2003, kl. 9.00 3.00 Opgave (25%) For konstanten π = 3.4592... gælder identiteten π 2 6 =
Skriftlig Eksamen Algoritmer og Datastrukturer (dads)
Skriftlig Eksamen Algoritmer og Datastrukturer (dads) Datalogisk Institut Aarhus Universitet Mandag den 27. maj 2002, kl. 9.00 13.00 Opgave 1 (25%) Denne opgave handler om multiplikation af positive heltal.
Allan C. Malmberg. Terningkast
Allan C. Malmberg Terningkast INFA 2008 Programmet Terning Terning er et INFA-program tilrettelagt med henblik på elever i 8. - 10. klasse som har særlig interesse i at arbejde med situationer af chancemæssig
Rygtespredning: Et logistisk eksperiment
Rygtespredning: Et logistisk eksperiment For at det nu ikke skal ende i en omgang teoretisk tørsvømning er det vist på tide vi kigger på et konkret logistisk eksperiment. Der er selvfølgelig flere muligheder,
Danmarks Tekniske Universitet
Eksamen 005, F side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. Kursusnavn: Algoritmer og datastrukturer I Kursus nr. 005. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed:
Kom i gang-opgaver til differentialregning
Kom i gang-opgaver til differentialregning 00 Karsten Juul Det er kortsigtet at løse en opgave ved blot at udskifte tallene i en besvarelse af en tilsvarende opgave Dette skyldes at man så normalt ikke
28 Algoritmedesign. Noter. PS1 -- Algoritmedesign
28 Algoritmedesign. Algoritmeskabelon for Del og Hersk. Eksempler på Del og Hersk algoritmer. Binær søgning i et ordnet array. Sortering ved fletning og Quicksort. Maksimal delsums problem. Tætteste par
Formelsamling Matematik C
Formelsamling Matematik C Ib Michelsen Ikast 2011 Ligedannede trekanter Hvis to trekanter er ensvinklede har de proportionale sider (dvs. alle siderne i den ene er forstørrelser af siderne i den anden
Vinderseminar 2007. Diskret matematik. Kirsten Rosenkilde. 1. Diskret matematik.
Vinderseminar 2007. Diskret matematik. Kirsten Rosenkilde. 1 1 Paritet Diskret matematik. I mange matematikopgaver er det en god ide at se på paritet dvs. hvornår en bestemt størrelse er henholdsvis lige
Kommunal Rottebekæmpelse tal og tendenser
Kommunal Rottebekæmpelse tal og tendenser Siden 1938 har de danske kommuner haft pligt til årligt at indberette oplysninger om den kommunale rottebekæmpelse til de centrale myndigheder. Myndighederne anvender
Søren Christiansen 22.12.09
1 2 Dette kompendie omhandler simpel brug af Excel til brug for simpel beregning, såsom mængde og pris beregning sammentælling mellem flere ark. Excel tilhører gruppen af programmer som samlet kaldes Microsoft
Få navn på analysenr. i excel-fil og ind i pivottabel med data fra qlikview
Få navn på analysenr. i excel-fil og ind i pivottabel med data fra qlikview Opret en excel-fil med analysenr. og navn. Gemt som dataliste_til_pivottabeller Analysenr. skal stå i nr. orden, og cellen skal
Algoritmer og datastrukturer Course No. 02105 Cheat Sheet 2012. May 15, 2012
Algoritmer og datastrukturer Course No. 02105 Cheat Sheet 2012 May 15, 2012 1 CONTENTS 2012 CONTENTS Contents 1 Kompleksitet 3 1.1 Køretid................................................ 3 1.2 Asymptotisk
Newtons afkølingslov
Newtons afkølingslov miniprojekt i emnet differentialligninger Teoretisk del Vi skal studere, hvordan temperaturen i en kop kaffe aftager med tiden. Lad T ( t ) betegne temperaturen i kaffen til tiden
INSTITUT FOR DATALOGI, AARHUS UNIVERSITET
INSTITUT FOR DATALOGI, AARHUS UNIVERSITET Science and Technology EKSAMEN Antal sider i opgavesættet (incl. forsiden): 6 (seks) Eksamensdag: Fredag den 22. juni 2012, kl. 9.00-13.00 Eksamenslokale: Finlandsgade
Tal, funktioner og grænseværdi
Tal, funktioner og grænseværdi Skriv færdig-eksempler der kan udgøre en væsentlig del af et forløb der skal give indsigt vedrørende begrebet grænseværdi og nogle nødvendige forudsætninger om tal og funktioner
Tilgang til data. To udbredte metoder for at tilgå data: Sekventiel tilgang Random access: tilgang via ID (også kaldet key, nøgle) for dataelementer.
Merging og Hashing Tilgang til data To udbredte metoder for at tilgå data: Sekventiel tilgang Random access: tilgang via ID (også kaldet key, nøgle) for dataelementer. API for sekventiel tilgang (API =
RUTruteplanlægningsvejledning. Folkekirkens Nødhjælp Sogneindsamling 2015
RUTruteplanlægningsvejledning Folkekirkens Nødhjælp Sogneindsamling 2015 Indhold 1. Introduktion til RUT... 2 1.1 Om vejledningen... 2 2. Log på RUT... 4 3. Sådan planlægger du ruter... 6 4. Sådan finder
Dansk Datalogi Dyst 2015 DDD Runde 2
. 19. februar, 2015 linetest DK v1.0 Line Test Sigurd er begyndt i gymnasiet og har lært om linjer på formen f(x) = ax + b. Han har prøvet at tegne nogle linjer på papir for at finde ud af hvilke koordinater
Microsoft Word 2003 - fremgangsmåde til Firma skovtur
side 1 af 7 Åbn Word 2003 Skriv derefter teksten - ud i en køre - Kære kolleger Så er det atter tid for madpakker, drikkedunke og lommelærker. Den årlige Firma skovtur går i år til Lunden ved Vejle Lørdag
1. Redegør for Lister, stakke og køer mht struktur og komplexitet af de relevante operationer
1. Redegør for Lister, stakke og køer mht struktur og komplexitet af de relevante operationer på disse. Typer af lister: Array Enkelt linket liste Dobbelt linket Cirkulære lister Typer af køer: FILO FIFO
Merging og Hashing (del I)
Merging og Hashing (del I) Tilgang til data To udbredte metoder for at tilgå data: Sekventiel tilgang Random access: tilgang via ID (også kaldet key, nøgle) for dataelementer. API for sekventiel tilgang
Et udtryk på formena n kaldes en potens med grundtal a og eksponent n. Vi vil kun betragte potenser hvor grundtallet er positivt, altså a>0.
Konkrete funktioner Potenser Som udgangspunkt er brugen af potenser blot en forkortelse for at gange et tal med sig selv et antal gange. Hvis a Rskriver vi a 2 for a a a 3 for a a a a 4 for a a a a (1).
På alle områder er konklusionen klar: Der er en statistisk sammenhæng mellem forældre og børns forhold.
Social arv 163 8. Social arv nes sociale forhold nedarves til deres børn Seks områder undersøges Der er en klar tendens til, at forældrenes sociale forhold "nedarves" til deres børn. Det betyder bl.a.,
Linket viser jer frem til billedet nedenfor, her skal du blot skrive jeres brugernavn og adgangskode. Indtast din adgangskode her:
Brugervejledning til håndtering af respondenter til MUS i SurveyXact Indledning Denne manual beskriver, hvordan SurveyXact kan anvendes til forberedelse af MUS. Der tages udgangspunkt i handlinger, den
Kasteparabler i din idræt øvelse 1
Kasteparabler i din idræt øvelse 1 Vi vil i denne første øvelse arbejde med skrå kast i din idræt. Du skal lave en optagelse af et hop, kast, spark eller slag af en person eller genstand. Herefter skal
Emne Sidst opdateret 23-08-2010/version 1. 1/Steen Eske Christensen
Emne Sidst opdateret 23-08-2010/version 1. 1/Steen Eske Christensen Indhold Ændringer Centrale begreber Generelt Behandlede emner Vejledningen består af 3 dele, som kan læses hver for sig. Du kan derfor
Del 3: Statistisk bosætningsanalyse
BOSÆTNING 2012 Bosætningsmønstre og boligpræferencer i Aalborg Kommune Del 3: Statistisk bosætningsanalyse -Typificeringer Indholdsfortegnelse 1. Befolkningen generelt... 2 2. 18-29 årige... 2 3. 30-49
