Skip to content

jerryschen31/data-structures-tutorial

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 

Repository files navigation

data-structures-tutorial

Tutorial on Data Structures using ChatGPT

  1. Foundational Concepts

Abstract Data Types (ADTs) vs. Data Structures

Big-O notation basics (for time and space complexity)

  1. Linear Data Structures

Arrays

Static arrays

Dynamic arrays (resizable, e.g., ArrayList in Java, vector in C++)

Strings (as specialized arrays of characters)

Linked Lists

Singly linked list

Doubly linked list

Circular linked list

Stacks

Array-based implementation

Linked-list-based implementation

Applications (expression evaluation, backtracking)

Queues

Simple queue

Circular queue

Double-ended queue (deque)

Priority queue (intro only, deeper later)

  1. Hash-Based Structures

Hash Tables / Hash Maps

Hash functions and collisions

Collision resolution (chaining, open addressing)

Sets (implemented via hashing)

  1. Tree-Based Structures

Binary Trees

Terminology (root, leaf, depth, height, etc.)

Tree traversals (inorder, preorder, postorder, level-order)

Binary Search Trees (BSTs)

Insertion, search, deletion basics

Balanced Trees (intro-level overview)

AVL Trees (brief mention)

Red-Black Trees (brief mention)

Heaps

Min-heap and max-heap

Heap as array representation

Applications: heap sort, priority queues

Tries (Prefix Trees) (basic introduction, for strings/dictionaries)

  1. Graphs

Graph Basics

Terminology (vertices, edges, degree, paths, cycles, connectivity)

Representations: adjacency list vs. adjacency matrix

Types of Graphs

Directed vs. undirected

Weighted vs. unweighted

Trees as special cases of graphs

Basic Traversal Algorithms (Dijkstra's Algorithm, Traveling Salesman)

Depth-First Search (DFS)

Breadth-First Search (BFS)

About

Tutorial on Data Structures using ChatGPT

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published