Skip to content

lakshmikanthgr/Complete-DSA-Python

Repository files navigation

1. Introduction

Purpose of the Repository is to revisit and revison of the Programing language as I am have started my Journy with IIT Jodhpur for M.tech. Target Audience: AI Engineers

2. Python Basics for DSA

Essential Python Features

  1. List Comprehensions
  2. Generators and Iterators
  3. Lambda Functions and Functional Programming
  4. Working with NumPy Arrays for Efficiency
  5. Big-O Notation and Time Complexity Analysis

3. Core Data Structures

I. Arrays and Strings

  1. Basic Operations
  2. Sliding Window Techniques

II. Linked Lists

  1. Singly Linked Lists
  2. Doubly Linked Lists
  3. Circular Linked Lists

III. Stacks and Queues

  1. Implementation (List and Deque)
  2. Use Cases in AI (e.g., Backtracking, BFS)

IV. HashMaps and HashSets

  1. Collisions and Hashing Techniques

V. Trees

  1. Binary Trees and Traversals
  2. Binary Search Trees (BST)
  3. AVL and Red-Black Trees
  4. Trie for NLP Applications

VI. Heaps

  1. Min-Heap and Max-Heap
  2. Priority Queues for AI Tasks

VII. Graphs

  1. Representations: Adjacency List/Matrix
  2. Traversals: DFS, BFS
  3. Shortest Path Algorithms (Dijkstra, A*)
  4. Connected Components and Cycles

4. Advanced Data Structures

  1. Segment Trees (e.g., Range Queries)
  2. Fenwick Trees (e.g., Prefix Sums)
  3. Disjoint Set Union (Union-Find)
  4. Sparse Tables
  5. K-D Trees (for Nearest Neighbor Search)
  6. Suffix Arrays and LCP Arrays

5. Algorithms

I. Sorting Algorithms

  1. Merge Sort, Quick Sort
  2. Counting Sort, Radix Sort

II. Searching Algorithms

  1. Binary Search Variants
  2. Ternary Search

III. Divide and Conquer

  1. Problem-Solving Techniques

IV. Dynamic Programming

  1. Classical Problems (Knapsack, Longest Subsequence)
  2. Matrix Chain Multiplication

V. Greedy Algorithms

  1. Huffman Encoding
  2. Activity Selection Problem

6. Graph Algorithms

I. Minimum Spanning Tree (Kruskal, Prim)

II. Shortest Path (Dijkstra, Bellman-Ford, Floyd-Warshall)

III. Topological Sorting (Kahn’s Algorithm

IV. Network Flow (Ford-Fulkerson, Edmonds-Karp)

V. Graph Neural Networks (GNN) Basics

7. Matrix Manipulations

I. Matrix Multiplication (Strassen Algorithm)

II. Graph Representations in Matrices

III. Matrix Exponentiation for AI Applications

IV. Singular Value Decomposition (SVD)

8. AI-Specific Use Cases

I. Graph Traversals for Recommendation Systems

II. Heaps for Priority Sampling in RL

III. Trie for Text Prediction

IV. Disjoint Sets for Clustering

V. Dynamic Programming for Sequence Alignment (NLP/Bioinformatics)

VI. Matrix Operations for Neural Networks

9. Code Templates and Utilities

I. Reusable Code Snippets

II. Common Patterns in AI Tasks

III. Optimization Tips

10. Integration with AI Workflows

I. Preprocessing Pipelines for Data

II. Efficient Memory Usage with Large Models

III. Accelerating Training with Optimized Code

11. References and Resources

Recommended Books: https://www.amazon.in/Data-Structures-Algorithms-Using-Python/dp/1009276972

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors