- Aakash Varshney. Introduction to Data Structures. the startup, 2018.
- Robert Horvick. Data Structures Succinctly Part 1. syncfusion, 2014.
- Covers algorithms and data structures overview, linked lists, array lists, stacks, queues, binary search tree, set, and sorting algorithms.
- Robert Horvick. Data Structures Succinctly Part 2. syncfusion, 2014.
- Covers skip lists, hash tables, heap and priority queues, and AVL trees.
The Types of Data Structures
- Estefania Cassingena Navone, Data Structures 101: Arrays – A Visual Introduction for Beginners. freecodecamp, 2019.
- Each item in a linked list has a reference to the item following it.
- Doubly Linked
- If a linked list is doubly linked, it has a reference to both the previous and next records.
- Circularly Linked
- Pedro Pregueiro. Linked Lists in Python: An Introduction. realpython, 2020.
pushto add to top of stack,
popto remove from top of stack. Not possible to interact with any other item besides top item. Follows Last In First Out (LIFO).
- Sometimes supports
peekwhich allows looking at top of stack but without removing it from the stack.
- Sometimes supports
- Wahid Tanner, takeupcode, 2017.
- Anand Jaisingh. Basics of Stacks. hackerearth, 2020.
- Similar to Stacks, but instead of LIFO it uses FIFO (First-In First-Out).
“Graphs are used to represent, find, analyze, and optimize connections between elements (houses, airports, locations, users, articles, etc.).”Estefania Cassingena Navone
- Basic Components: Nodes, Edges
- |V| = Number of vertices (nodes) in a graph.
- |E| = Number of edges (connections) in a graph.
- Graphs are classified by edge characteristics.
- Directed Graphs
- Undirected Graphs
- Weighted Graphs
- Unweighted Graphs
- Dense Graphs
- Sparse Graphs
- Depth First Traversal
- Breadth First Traversal
- Estefania Cassingena Navone. Data Structures 101: Graphs — A Visual Introduction for Beginners. freecodecamp, 2019.*
- Estefania Cassingena Navone. Python Sets: A Detailed Visual Introduction. freecodecamp, 2020.
- Wahid Tanner, Trees Can, takeupcode, 2017.
- Wahid Tanner, Trees Use, takeupcode, 2017.
- Binary Search Tree
- AVL Tree
- Spanning Tree
- Splay Tree
- Estefania Cassingena Navone. Python Dictionaries 101: A Detailed Visual Introduction. freecodecamp, 2019.
- Hash Tables
Big O Notation
- Richard Carr. Big O Notation Basics. BlackWasp, 2013.