منصوبے کے بارے میں
Coding Problems ایک سیکھنے پر مبنی ریپوزٹری ہے جو الگورتھمی اور کوڈنگ انٹرویو طرز کے مسائل کے Python 3 حل جمع کرتی ہے، ساتھ ہی مطالعے کے لیے منتخب وسائل بھی فراہم کرتی ہے۔ README میں واضح طور پر لکھا ہے کہ یہ مواد سیکھنے اور تحقیق کے لیے ہے، پروڈکشن استعمال کے لیے نہیں۔
حل
تمام حل Python 3 میں لکھے گئے ہیں اور صرف بلٹ اِن فنکشنز اور چند معیاری لائبریری ماڈیولز (math، collections، heapq، random) پر انحصار کرتے ہیں، اس لیے انہیں چلانے کے لیے کوئی بیرونی پیکج درکار نہیں۔ مصنف نے Python اس لیے منتخب کیا کیونکہ یہ سیوڈو کوڈ کے قریب پڑھی جاتی ہے، جس سے منطق کو دوسری زبانوں میں منتقل کرنا آسان ہو جاتا ہے۔ کوڈ اسٹائل PEP8 کی پیروی کرتا ہے۔
ہر حل کی فائل ایک مستقل ٹیمپلیٹ استعمال کرتی ہے: ایک ڈاک اسٹرنگ جس میں مسئلے کا نام، وضاحت، اِن پٹ/آؤٹ پٹ کی تفصیل، اور ایک یا زیادہ حل کے طریقے وقت اور جگہ کی پیچیدگی کے ساتھ؛ پھر حل کے فنکشنز؛ پھر ایک سادہ ٹیسٹنگ سیکشن جو نتائج کو print() کے ذریعے دکھاتا ہے نہ کہ یونٹ ٹیسٹنگ فریم ورک کے ذریعے (README میں unittest یا pytest کو حقیقی ٹیسٹنگ کے لیے بہتر متبادل قرار دیا گیا ہے)۔
مسائل کو اقسام میں تقسیم کیا گیا ہے: Arrays (sorting، binary search، divide and conquer، sliding window)، Linked Lists، Trees (BSTs، BFS/DFS traversals)، Hashing Data Structures (sets اور dictionaries)، Dynamic Programming (1D/2D، LCS، LIS، knapsack)، Strings، Math (GCD، LCM، factorization، geometry)، اور Other (backtracking، BFS، DFS، stacks، queues، deques، heaps، matrices)۔ مصنف نوٹ کرتا ہے کہ مسائل خود LeetCode جیسی سائٹس سے لیے گئے ہیں؛ صرف حل اور وضاحتیں اصل ہیں۔
سیکھنے کے وسائل
ریپوزٹری چار گروپوں میں وسائل بھی جمع کرتی ہے:
- کورسز: Stanford، Princeton، UC San Diego، MIT، Harvard اور UC Berkeley کے مفت یونیورسٹی کورسز، جو الگورتھم، ڈیٹا اسٹرکچرز، گراف الگورتھم اور جدید موضوعات کا احاطہ کرتے ہیں۔
- کتابیں: ایک مختصر تشریحی فہرست جس میں Grokking Algorithms، CLRS، Sedgewick & Wayne، The Algorithm Design Manual، Dasgupta et al.، Competitive Programming 3، اور Cracking the Coding Interview شامل ہیں۔
- تربیتی سائٹس: مشق کے پلیٹ فارمز کی ایک طویل فہرست جیسے Codeforces، HackerRank، Topcoder، AtCoder، SPOJ، Project Euler، Kattis، Codewars، Codility اور دیگر۔
- دیگر وسائل: Geeks For Geeks، TheAlgorithms/Python، CP Algorithms، ویژولائزرز (USFCA، VisuAlgo، Algorithm Visualizer)، مختلف ٹیوٹوریلز، اور YouTube پلے لسٹس۔
README میں بگز کی رپورٹ یا بہتر implementations کو issues یا pull requests کے ذریعے بھیجنے کی دعوت دی گئی ہے اور نوٹ کیا گیا ہے کہ ریپو وقتاً فوقتاً اپ ڈیٹ ہوتی ہے۔
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.