In addition to displaying your mastery of Java basics (for example, syntax, object-oriented concepts, arrays, classes, objects, and interfaces) as covered on previous quizzes, you should show your understanding of the topics covered since the last quiz: - linked lists - stacks; - queues; - dictionaries / maps You also should be prepared to explain what abstract data type (or implementation of an ADT) you would use to solve a given problem. I will not test you on hashtables: I'm saving them for the final. Specific concepts you should understand: - Linked lists - Nodes - Singly-linked vs. doubly-linked lists - Stacks ADT - Queue ADT - Implementation of Stacks, and Queues - With linked lists - With rrays - With circular arrays Skills you should be able to demonstrate: - Draw pictures of Linked Lists - Implement methods from any of the ADTs List, Stack, Queue, and Priority Queue with Linked Lists - Analyze the efficiency of any of these implementations - Compare and contrast linked list vs. array implementations of ADT methods and algorithms, particularly their efficiency. - Solve problems (i.e., write code) with Linked Lists - see sample questions to be posted; also recall the various things I've mentioned in class - Discuss the difference and tradeoffs between singly- and doubly-linked lists - Explain the difference between the ADTs List, Stack, Queue, and Priority Queue; given a problem statement, identify the most appropriate ADT to use to solve the problem and justify your choice.