Skip to content

agokhanileri/PythonCraft

Repository files navigation

PythonCraft

Description

Python License Lint

Python learning path with syntax, data structures, algorithms, and exercises.

Skip the boring tutorial and go for the fun? 👉 Jump to LeetCode

Contents

# Script Rigidity Status Lint Topics
01 Syntax Soft Zen, Docstrings, Imports, Comments, Indents, Quotes, Spacing, Namespaces, Encoding
02 Scalars Soft Numbers, Boolean, Strings, Arithmetic for more 👉 MathCraft (TBD)
03 Containers Soft Lists, Tuples, Sets, Dictionary, Stacks/Queues, Collections, Arrays
04 Loops Soft ⚠️ If, For, While, Case, Continue/Break/Pass, Iterables
05 Functions Soft ⚠️ Function, Partial, OperatorOverloading, Generator, Coroutines
06 Interactive Soft ⚠️ Printing, PrettyPrint, Prompting, FileHandling, ContextManagers
07 Classes Soft ⚠️ Classes, Variables, Decorators
08 OOP Med ⚠️ Inheritance, Abstraction, Polymorphism, Encapsulation
09 LinkedLists Med ⚠️ Implementation, Traversals, Insert/Delete, Reverse, Circular Lists
10 BinaryTrees Med ⚠️ Implementation, Traversals (in/pre/post), Height/Balance, Views
11 HeapsTries Med ⚠️ Min/Max, PriorityQueues, Tries, Insert/Search
12 Hashing Med ⚠️ Construction, Ops, Collision
13 Graphs Med ⚠️ Construction, Ops, Traversal (BFS/DFS)
14 SearchAlgos Med LinearSearch, BinarySearch, JumpSearch, InterpolationSearch
15 SortAlgos Med Bubble, Quick, Merge, Insertio, Selection, Heap, Counting, Radix, Bucket
16 Divide&Conquer Med CountInversions, ClosestPair, Strassen, PeakFind, FFT
17 GreedyAlgos Med IntervalSchedule, IntervalPartition, FractionalKnapsack, HuffmanCoding, MST
18 DynamicAlgos Med Recursion, Memoization, Tabulation, 2-Pointer, Knapsack, LIS
19 GraphAlgos Firm Dijkstra, BellmanFord, TopologicalSort, UnionFind, FloydWarshall
20 Testing Firm Exceptions (Assert, Try/Except/Finally), Date/Time/Calendar, Speed, Space Logging
21 BitOps Firm Boolean Ops, Bitwise Ops, Bit Math, Bit Shifting, Bit Casting
21 AdvancedTopics Firm Mutation/Override, Zip, Map/Reduc/Struct, Itertools, Fraction, RegEx
HS HelperScripts n/a Searches, Sorts, LL, BT, Graph, Methods (clear_all, cmp)
PS PracticeSoft Soft ⚠️ Soft practice questions
PM PracticeMed Med ⚠️ Medium practice questions
LC LeetCode Soft/Med --- Leetcode solutions with comments and testing

Manual

Style

Philosopy: Pythonic | Zen
- Relevant lines are grouped together as much as possible.

Linter: ruff
Formatter: black

Execution: line-by-line
- Although some scripts may run directly.

Dependencies

Python: v3.12

Packages: None

CI/CD: ruff, black, mypy, pytest, pre-commit

Structure

Inputs: ./inputs (common for all scripts)
Outputs: ./outputs //

Scratch: ./extras/random_notes.py

Helpers: ./extras/helper_scripts.py
- Class recall: from helper_scripts import BinaryTree
- Method recall: from helper_scripts import * quick_sort

Shortcuts

DS = data structures
BT = binary tree
LL = linked list
Q = question
sol = solution
mod = modification
ans = answer
iter = iterate
concat = concatenate
lib = library
func = function

License

This project is licensed under the BSD 3-Clause License.

About

Python learning path with sytnax, data structures, algorithms, and exercises.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages