It looks like you're using Internet Explorer 11 or older. This website works best with modern browsers such as the latest versions of Chrome, Firefox, Safari, and Edge. If you continue with this browser, you may see unexpected results.

Professor Chuang Spring 2020 OER

**What are data structures?**

- A
*data structure*is an arrangement of data in a computer’s memory - We refer to them as abstract representations used to talk about logistics of low level data management and retrieval
- Examples of data structures include stacks, queues, lists and trees

**Data Structures & Algorithms**

- Algorithms refer to the logistics in manipulating data in these structures, such as searching or sorting.
- Data structures & algorithms go hand in hand, let’s focus on data structures first to know what we’re dealing with.

- Arrays (container object in Java)
- Linked Lists
- Simple Linked List
- Double Ended Linked List
- Doubly Linked List
- Sorted Linked List

- Hashmaps
- Binary Trees
- Binary Search Tree
- Heap

- Graphs

Suggested Reading

Topic |
Chapter |
---|---|

Arrays |
Lafore Ch 2 |

Stacks & Queues | Lafore Ch 4, CLRS Ch 10 |

Linked List | Lafore Ch 5, CLRS Ch 10 |

Binary Trees, BST | Lafore Ch 8, CLRS Ch 12 |

Heaps | Lafore Ch 12 |

Graphs | Lafore Ch13 |

Data Structure | Search | Insertion | Deletion | Traversal |

Array | O(n) | O(1) | O(n) | |

Stack | O(1) | O(1) | ||

Queue | O(1) | O(1) | ||

Linked List | O(n) | O(n) | O(n) | O(n) |

Binary Search Treee | O(logn) | O(logn) | O(logn) | O(n) |

HashMap | O(1) | O(1) | O(1) |