1 / 18

Datastrukturer og Collections

Datastrukturer og Collections. Rasmus D. Lehrmann DM67 2010. Indhold. Definition af datastruktur Statisk og dynamisk Stakken Køen LinkedList Binært træ Søgetræer Travesering Balanceret søgetræ Hashmap Collection typer Opsummering. Definition af datastruktur.

britain
Download Presentation

Datastrukturer og Collections

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Datastrukturer og Collections Rasmus D. Lehrmann DM67 2010

  2. Indhold • Definition af datastruktur • Statisk og dynamisk • Stakken • Køen • LinkedList • Binært træ • Søgetræer • Travesering • Balanceret søgetræ • Hashmap • Collection typer • Opsummering

  3. Definition af datastruktur Datastruktur er en betegnelse for data, der er organiseret i elementer, som kan tilføjes eller fjernes fra strukturen. Nogle datastrukturer forudsætter et nøglefelt, som der kan søges efter. Som udgangspunkt er der tilknyttet nogle basis operationer til en datastruktur: • Tilføj • Fjern • Søge efter element • Checke om strukturen er tom

  4. Statisk og dynamisk Det skelnes imellem statiske og dynamiske datastrukturer. • Statisk: Fast størrelse, kan vokse men øger køretid. Easy access til elementer (O(1)) • Dynamisk: Bruger den nødvendige plads mængde til dataen. Traveserer over elementerne (O(n)).

  5. Stakken • Elementerne tilføjes og fjernes fra toppen. • LIFO(sidste in først out)

  6. Køen • Elementerne tilføjes efter det sidst tilføjede element. • FIFO(først ind først ud)

  7. LinkedList • Består af knuder • Dataelement + link • Dynamisk • Sekventiel tilgang

  8. Eksempel LinkedList

  9. Binært træ • Bestående af en rod, et venstre og højre under træ • Forældre og børn referencer • Træet kan være: • Tomt • Balanceret • Skæve

  10. Søgetræer • Hver knude har en ”midter” værdi • Knuden er mindre i venstre undertræ • Knude er støre i højre undertræ • Gennemløb med InOrder vil sorterer værdierne med mindste værdi først

  11. Travesering af søgetræ • Travesering kan foregå på 3 måder: • preorder (rod, venstre, højre) • inorder (venstre, rod, højre) • postorder (venstre, højre, rod)

  12. Eksempel på travasering af søgetræ

  13. Balanceret søgetræ • En knude kan have flere værdier • En knude skal mindst være halvt fuld • Sletninger og tilføjelser vil altid foregå så træet er balanceret.

  14. Et søgetræ

  15. Hashmap • Værdier lagret i par(nøgle, værdi) • Nøglen kan bruges til søgning • Hvis nøglen findes, vil en værdi bliver returneret

  16. Collection typer

  17. Collection library System.Collections • Klasser: • Array • ArrayList • Hashtable • Stack • Queue

  18. Opsummering Datastrukturer og Collections • Datastruktur: • Stakken • Køen • LinkedList • Binært træ • Travesering: • Gennemløb af data • Bruges til at gemme data, kan f.eks. Være en database

More Related