Python Strings Masterclass
String operations, patterns, and problem-solving techniques for text-based DSA questions.
DSA_Python learning portfolio
A static overview of the Python practice files in this repository, grouped by topic with summaries, learning insights, and improvement notes for the next round of practice.
Linked lists, queues, stacks, heaps, dictionaries, and sets appear across the practice files.
Binary search, two-pointer intersection, recursion, matrix traversal, and max-selection are represented.
Most files include prompt text, examples, constraints, and direct implementations suited to coding-platform practice.
These are the HTML notes already created inside DSA_Notes. They are linked here from the
main page so the report can act as the starting point for both code practice and concept revision.
String operations, patterns, and problem-solving techniques for text-based DSA questions.
Complexity intuition for sorting, divide-and-conquer thinking, and efficient algorithm design.
Hash-based lookup, uniqueness, frequency counting, and dictionary/set use cases.
Heap behavior and priority-queue concepts that connect directly to max-heap practice files.
Linked-list intuition, nodes, CRUD operations, dry runs, quizzes, and common pointer patterns.
Interactive notes covering graphs, trees, traversals, implementations, complexity, and interview tips.
Nodes, edges, graph types, representations, BST intuition, and an interactive graph builder.
Inorder search logic, short-circuiting, code walkthrough, and a clickable dry run table.
Number theory and math patterns that support prime, GCD, counting, and modular-style practice.
Implements max-removal queries by storing negative values in heapq.
Builds a beginner-friendly singly linked list with detailed method explanations.
Uses collections.deque correctly for queue operations.
insert and getFirst.Counts characters with a dictionary and attempts to return the most frequent character.
max_count = count, not count = max_count.aaaaAAAA would catch this quickly.Practices object-oriented Python with a simple shared user database dictionary.
Currently stores explanatory notes inside the package initializer.
Adds two same-sized matrices element by element.
Reads student heights and prints the average to six decimal places.
Contains multiple diagonal-sum approaches, including a clean helper function.
Classic FizzBuzz solution from 1 to n.
Finds the sorted intersection while preserving duplicate counts.
Counts prime numbers less than n using trial division and prints each intermediate divisor check.
Reduces an array by repeatedly computing the GCD of two values until one answer remains.
Implements beginning and end insertions for a singly linked list with query-style input.
Splits a linked list into odd and even lists while preserving original order.
None.Searches node by node and returns whether the target value exists in the linked list.
Uses a heap to retrieve the two largest numbers before computing the product.
Shows base cases and recursive calls through three classic examples.
Implements binary search and returns the target index or -1.
Builds a simple diamond pattern with increasing and decreasing rows.
Validates bracket sequences using a list-backed stack and closing-to-opening map.
Counts unique whitespace-separated words in a string.
Converts a binary string into decimal by scanning from the least significant bit.
Builds a binary tree from node relationships and prints values in left-root-right order.
Groups words by anagram signature and prints each anagram group on its own line.
Counts prime numbers inside a start-to-end range with a helper function for prime checks.
QueueSimple.py, LinkedListisSplit.py, LinkedListInsert.py, SearchTarget.py, and ValidParanthesies.py are clean practice solutions with clear core logic.
Move demo code behind if __name__ == "__main__", remove repeated prints, and keep each coding-platform solution to one input/output path.
Add small tests for each function, especially edge cases: empty structures, ties, single-element inputs, and duplicate values.