Lists Flashcards
Arrays (fundamental data structure - not ADT)
Noem 1 advantage, 3 disadvantages en welke ADT lost dit probleem op
Advantage:
● Elements are directly addressable
Disadvantages:
● Fixed size
● Duration to insert/remove elements in the middle (due to
sliding).
● Generics are tricky (making generic array).
Depending on the implementation, Lists solve one or more of
these problems!
Wat zijn Lists(ADT) en de belangrijkste 4 operaties
● A collection where the order and position
matter.
● Examples: list files, drop-down list, to-do
list, etc.
Belangrijkste operaties:
add() – Place item at the back
get()/set() – Find/place item in a specific place
remove() – Delete item
find()/contains()– See if there is an item in the
list
Noem 2 voorbeelden van lists op implementatie niveau
ArrayList,LinkedList
Hoe werkt een ArrayList, waar wordt .add toegevoegd
ArrayList uses an ordinary array underwater, add always adds at the back
Wat gebeurt er als er een ArrayList vol is en er wordt wat toegevoegd.
Create a new array, 2n+1 in size.. Hierdoor krijg je dus altijd 2 arrays
2 voorbeelden van LinkedLists
Doubly LinkedList, Singly LinkedList
Hoe heet 1 blokje in een linkedList en uit welke 2 onderdelen bestaat die.
Node, data en een verwijzing naar de volgende note.
Welke 2 onderdelen heeft een LinkedList altijd.
Front and Back
Wat is het verschil tussen een Singly linkedlist en Doubly Linked List
Singly gaat van a->b->c. Maar Doubly gaat beide kanten op. dus a ->b->c, a<-b<-c
LinkedList versus ArrayList, 1 voordeel linkedlist en 1 voor arraylist
● Adding elements:
LinkedList typically better than
ArrayList.
● Accessing any element “at once”:
ArrayList typically better than
LinkedList.