{"id":21125218,"url":"https://github.com/algokun/competitive-programming","last_synced_at":"2025-03-14T11:27:03.543Z","repository":{"id":119606530,"uuid":"233905286","full_name":"algokun/competitive-programming","owner":"algokun","description":"All my submissions of various problems from various sources","archived":false,"fork":false,"pushed_at":"2020-01-18T17:16:34.000Z","size":342,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-21T05:27:58.755Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/algokun.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-01-14T18:11:33.000Z","updated_at":"2020-01-14T18:13:45.000Z","dependencies_parsed_at":null,"dependency_job_id":"f27e187a-0fb5-42c0-8f0b-d2243993ac14","html_url":"https://github.com/algokun/competitive-programming","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/algokun%2Fcompetitive-programming","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/algokun%2Fcompetitive-programming/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/algokun%2Fcompetitive-programming/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/algokun%2Fcompetitive-programming/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/algokun","download_url":"https://codeload.github.com/algokun/competitive-programming/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243567797,"owners_count":20312113,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-20T04:22:16.344Z","updated_at":"2025-03-14T11:27:03.507Z","avatar_url":"https://github.com/algokun.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Data Structures\n\nLearn how to code and master algorithms and data structures. These are some of the programs from different sources that are found to be good.\n\n## How to get started\n\n[![Image](https://img.youtube.com/vi/IIKTGg5AKkY/mqdefault.jpg)](https://www.youtube.com/watch?v=IIKTGg5AKkY)\n\nThis is a video from [rachit jain](https://www.youtube.com/channel/UC9fDC_eBh9e_bogw87DbGKQ), i found it to be consistent and very useful.\n\n### Learning Resources\n\nI have some of the learning resources from [Codechef](codechef.com)\n\n1. Asymptotic analysis (Big-O notation).\n    - Basic\n        - youtube.com :  Time complexity of a computer program\n        - youtube.com :  Big-O notation in 5 minutes - The basics\n        - youtube.com :  Definition Of Big O Notation - Intro to Theoretical Computer Science\n        - youtube.com :  Algorithms Lecture 1 -- Introduction to asymptotic notations\n        - iarcs.org.in - Measuring the efficiency of algorithms\n        - interactivepython.org - Particularly for Big-O notation\n    - Advanced\n        - rob-bell.net - A beginner's guide to Big O notation\n        - youtube.com - Big O Notation, Gayle Laakman McDowell\n        - web.mit.edu - Big O notation\n        - youtube.com - Time and space complexity analysis of recursive programs - using factorial\n        - A very nice tutorial with examples\n    - Practice Problems\n        - Check some MCQs on space and time complexity here.\n        - You can see some problems with solutions here: Time complexity of an algorithm\n2. Arrays\n    - Resources\n        - codechef.com - Data Structure Tutorial: Array\n        - cs.cmu.edu - Arrays\n        - geeksforgeeks.org - Arrays Data Structure\n    - Practice Problems\n        - codechef.com - LECANDY, editorial\n        - codechef.com - CNOTE, editorial ;\n        - codechef.com - SALARY, editorial\n        - codechef.com - CHN15A, editorial\n        - codechef.com - RAINBOWA, editorial\n        - codechef.com - FRGTNLNG, editorial\n        - codechef.com - COPS, editorial\n3. Strings\n    -  Resources\n        - tutorialspoint.com - C++ strings\n        - guru99.com - Java strings\n        - docs.python.org - Python strings\n        - tutorialspoint.com - Python strings\n        - geeksforgeeks.org - Many string questions\n    -  Practice Problems\n        - codechef.com - CSUB, editorial\n        - codechef.com - LAPIN, editorial\n4. Stack and Queue\n    -  Resources\n        - geeksforgeeks.org - Stack Data Structure\n        - geeksforgeeks.org - Introduction and Array Implementation\n        - tutorialspoint.com - Data Structures Algorithms\n        - cs.cmu.edu - Stacks\n        - cs.cmu.edu - Stacks and Queues\n        - cs.cmu.edu - Stacks and Queues\n    -  Practice Problems\n        - spoj.com - JNEXT\n        - spoj.com - STPAR\n        - spoj.com - ONP\n        - codechef.com - COMPILER\n        - spoj.com - MMASS\n        - spoj.com - HISTOGRA\n        - codeforces.com - D. Maximum Xor Secondary\n        - spoj.com - ANARC09A\n        - codeforces.com - C. Minimal string\n        - codeforces.com - B. Alternating Current\n        - codeforces.com - C. Longest Regular Bracket Sequence\n5. Basic math operations (addition, subtraction, multiplication, division, exponentiation)\n    -  codechef.com - A tutorial on Fast Modulo Multiplication\n6. Euclid’s GCD Algorithm\n    -  Resources\n        - youtube.com - Mycodeschool video\n        - khanacademy.org - The Euclidean Algorithm\n        - geeksforgeeks.org - Example program to find gcd in c++:\n7. Prime Numbers, divisibility of numbers\n    -  Resources:\n        - Only O(sqrt(n)) algorithm for finding whether a number is a prime, factorization of a number.\n        - Finding prime factors by taking the square root\n    -  Practice Problems:\n        - community.topcoder.com - DivisorInc\n        - community.topcoder.com - Prime Polynom\n        - community.topcoder.com - Prime Anagrams\n        - community.topcoder.com - Refactoring\n8. Basic Recursion\n    -  Resources\n        - topcoder.com - An Introduction to Recursion, Part 1\n        - topcoder.com - An Introduction to Recursion: Part 2\n        - geeksforgeeks.org - Recursion ;(along with questions)\n        - web.mit.edu - Recursion\n        - csee.umbc.edu - Recursion ;(Examples with exercises)\n        - loveforprogramming.quora.com - Backtracking, Memoization \u0026 Dynamic Programming\n        - byte-by-byte - Recursion for Coding Interviews\n    -  Practice Problems\n        - codechef.com - NOKIA, editorial\n        - codechef.com - TRISQ, editorial\n        - codechef.com - LFSTACK, editorial\n        - codechef.com - FICE, editorial\n9. Greedy Algorithms\n    -  Resources\n        - iarcs.org.in - Greedy Algorithms\n        - iarcs.org.in - Greedy Algorithms\n        - topcoder.com - Greedy Algorithms\n        - Greedy Algorithms\n    -  Practice Problems\n        - codechef.com - TACHSTCK, editorial\n        - codechef.com - CIELRCPT, editorial\n        - codechef.com - MAXDIFF, editorial\n        - codechef.com - CHEFST, editorial\n        - codechef.com - CAKEDOOM, editorial\n        - codechef.com - CLETAB, editorial\n        - codechef.com - TADELIVE, editorial\n        - codechef.com - MANYCHEF, editorial\n        - codechef.com - MMPROD, editorial\n        - codechef.com - CHEFTMA, editorial\n        - codechef.com - STICKS, editorial\n        - spoj.com - BAISED\n        - spoj.com - BALIFE\n        - spoj.com - GCJ101BB\n        - codechef.com - FGFS\n        - codechef.com - KNPSK\n        - codechef.com - LEMUSIC\n        - spoj.com - ARRANGE\n        - spoj.com - FASHION\n10. Dynamic programming (Basic DP)\n        ◦ Resources\n        - medium.freecodecamp.org - Demystifying Dynamic Programming\n        - iarcs.org.in - Dynamic Programming - Tiling\n        - topcoder.com - Dynamic Programming – From Novice to Advanced\n        - illinois.edu - Dynamic Programming ;(Exercises are recommended)\n        - codechef.com - Dynamic Programming\n        - geeksforgeeks.org - Dynamic Programming ;(Contains a lot of practice sessions)\n        - MIT OCW (Contains some Advanced topics as well)\n                • Dynamic Programming I\n                • Dynamic Programming II\n                • Dynamic Programming III\n                • Dynamic Programming IV\n        ◦ Practice Problems\n        - codechef.com - ALTARAY, editorial\n        - codechef.com - DELISH, editorial\n        - codechef.com - DBOY, editorial\n        - codechef.com - XORSUB, editorial\n        - codechef.com - GRID, editorial\n        - codechef.com - TADELIVE, editorial\n        - codechef.com - FROGV, editorial\n        - codechef.com - MATRIX2, editorial\n        - codechef.com - AMSGAME2, editorial\n        - spoj.com - MDOLLS\n        - spoj.com - MSTICK\n        - spoj.com - MCARDS\n        - spoj.com - MIXTURES\n        - spoj.com - SAMER08D\n        - spoj.com - AIBOHP\n11. Naive string searching\n        ◦ Resources\n        - geeksforgeeks.org - Naive Pattern Searching\n12. Sorting\n    - khanacademy.org\n    - visualgo.net\n    - iarcs.org.in\n    - Merge sort\n        - youtube.com - Merge sort algorithm\n        - Practice Problems\ncodechef.com -MRGSRT\n    - Quick sort\n        - youtube.com - Quicksort algorithm\n        - Practice Problems\ncodechef.com -TSORT\n        ◦ Counting sort\n        - geeksforgeeks.org - Counting Sort\n        - Practice Problems\n                • codechef.com - TACHSTCK, editorial\n                • codechef.com - STICKS, editorial\n13. Binary Search\n    - Resources\n        - topcoder.com (Try solving problems of Simple and Moderate level as mentioned in the end of the link)\n        - codechef.com\n        - usfca.edu\n        - khanacademy.org\n        ◦ Detailed Theoretical analysis\n        - cmu.edu (A theoretical analysis)\n        ◦ Problems\n        - geeksforgeeks.org - Binary Search (Contains some solved problems)\n        - codechef.com - STRSUB, editorial\n        - codechef.com - ASHIGIFT, editorial\n        - codechef.com - STACKS, editorial\n        - codechef.com - DIVSET, editorial\n        - codechef.com - LOWSUM, editorial\n        - codechef.com - SNTEMPLE, editorial\n        - codechef.com - SNAKEEAT, editorial\n        - codechef.com - SCHEDULE, editorial\n        - codechef.com - RIGHTTRI, editorial\n        - codechef.com - FORESTGA, editorial\n        - codechef.com - CHEFHCK2,editorial\n        - spoj.com - ABCDEF\n        - spoj.com - NOTATRI\n        - spoj.com - SCALE\n        - spoj.com - SUMFOUR\n        - spoj.com - SUBSUMS\n        - spoj.com - ANARC05B\n        - spoj.com - RENT\n        - spoj.com - PIE\n        - spoj.com - MKUHAR\n        - spoj.com - SVADA\n        - spoj.com - SUBS\n- Past Test - https://www.codechef.com/FLPAST01\n- Test 1 - codechef.com/FLMOCK01\n- Test 2 - codechef.com/FLMOCK02\n- Test 3 - codechef.com/FLMOCK03\n- Test 4 - codechef.com/FLMOCK04","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falgokun%2Fcompetitive-programming","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falgokun%2Fcompetitive-programming","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falgokun%2Fcompetitive-programming/lists"}