| Closed Lists and Related Data Structures closedLists |
| Open vs. Closed Lists |
| Purpose of Closed Lists |
| Closed List Implementation |
| An Empty Closed List |
| Possible Java implementation |
| How to Add and Remove Elements? |
| Some Typical Choices |
| Common Closed List Usages |
| Stack Abstraction |
| Stack Implementation (push) |
| Stack Implementation (pop) |
| Reading Code containing References and Pointers |
| Figurative Code for Push/Pop |
| Push -> Shove |
| Queue Abstraction |
| Queue Implementation |
| Enqueue/Dequeue |
| Homework |
| Related Topics |
| Doubly-Linked Lists |
| Deque Abstraction |
| General Doubly-Linked Lists |
| Doubly-Linked Lists as an Implementation Concept |
| Doubly-Linked Lists as an Implementation Concept |
| Possible Abstractions for
Doubly-Linked Lists |
| Example: ListIterator (in java.util) |
| Example, part 1 (complete source file) |
| Example (contŐd) |
| Example (contŐd) |
| Iterators as Interfaces |
| Review of Interfaces in Java |
| Interface vs. Implementation |
| Use of an Iterator |
| Recall Important Aspects of Interface Concept |
| Implication of second point |
| Reemphasis: Power of Interface |
| Value of Interfaces |
| Enumerations |
| Example: Enumerating a Vector |
| More Interface Examples with some Implementations (see Java API) |
| More Interface Examples with some Implementations |