Skip to content

A comprehensive collection of Python implementations and explanations for fundamental data structures and algorithms, designed for computer science and mathematics students preparing for technical interviews and coursework. Also a deepdive into advanced Python through my personal notes of the book Fluent Python

Notifications You must be signed in to change notification settings

andrey-campos/python-and-dsa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python Data Structures & Algorithms

A comprehensive collection of Python implementations and explanations for fundamental data structures and algorithms, designed for computer science and mathematics students preparing for technical interviews and coursework. Also a deepdive into advanced Python through my personal notes of the book Fluent Python

What's Inside

Core Data Structures

  • Dynamic Arrays & String Manipulation - Efficient approaches to array operations and string handling
  • Linked Lists - Singly and doubly linked list implementations with traversal algorithms
  • Hash Tables - Sets, maps, and collision resolution techniques
  • Stacks & Queues - LIFO/FIFO implementations using arrays and deques
  • Binary Trees & BSTs - Tree traversal (DFS/BFS), search operations, and balanced tree properties
  • Heaps & Priority Queues - Min/max heap implementations and heap sort

Essential Algorithms

  • Recursion & Call Stacks - Base cases, recursive patterns for trees and linked lists
  • Binary Search - Traditional and condition-based approaches
  • Sorting Algorithms - Bubble sort, insertion sort, and quicksort implementations
  • Graph Algorithms - DFS/BFS traversal with adjacency lists and matrices

Problem-Solving Patterns

  • Two Pointers - Fast/slow pointers and left/right pointer techniques
  • Sliding Window - Fixed and variable window size problems
  • Hash Maps & Sets - Frequency counting and lookup optimizations

Structure

├── DSA-Basics Core concepts and implementations

├── dp-recursion Dynamic programming and recursive solutions

└── fluentpy.ipynb Fundamental concepts in advanced Python

Credited Solutions: Greg Hogg, NeetCode, Luciano Ramalho

Usage

Each file contains detailed explanations, time/space complexity analysis, and working code examples. The notes are structured to build understanding progressively from basic concepts to advanced problem-solving techniques.

Notes

These are personal study notes documenting my understanding of DSA concepts in Python. They include common patterns and tricks discovered while preparing for technical interviews, projects, and coursework.

About

A comprehensive collection of Python implementations and explanations for fundamental data structures and algorithms, designed for computer science and mathematics students preparing for technical interviews and coursework. Also a deepdive into advanced Python through my personal notes of the book Fluent Python

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published