Skip to content

algokun/DataStructures

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 

Repository files navigation

Data Structures

Learn how to code and master algorithms and data structures. These are some of the programs from different sources that are found to be good.

How to get started

Image

This is a video from rachit jain, i found it to be consistent and very useful.

Learning Resources

I have some of the learning resources from Codechef

  1. Asymptotic analysis (Big-O notation).
    • Basic
      • youtube.com : Time complexity of a computer program
      • youtube.com : Big-O notation in 5 minutes - The basics
      • youtube.com : Definition Of Big O Notation - Intro to Theoretical Computer Science
      • youtube.com : Algorithms Lecture 1 -- Introduction to asymptotic notations
      • iarcs.org.in - Measuring the efficiency of algorithms
      • interactivepython.org - Particularly for Big-O notation
    • Advanced
      • rob-bell.net - A beginner's guide to Big O notation
      • youtube.com - Big O Notation, Gayle Laakman McDowell
      • web.mit.edu - Big O notation
      • youtube.com - Time and space complexity analysis of recursive programs - using factorial
      • A very nice tutorial with examples
    • Practice Problems
      • Check some MCQs on space and time complexity here.
      • You can see some problems with solutions here: Time complexity of an algorithm
  2. Arrays
    • Resources
      • codechef.com - Data Structure Tutorial: Array
      • cs.cmu.edu - Arrays
      • geeksforgeeks.org - Arrays Data Structure
    • Practice Problems
      • codechef.com - LECANDY, editorial
      • codechef.com - CNOTE, editorial ;
      • codechef.com - SALARY, editorial
      • codechef.com - CHN15A, editorial
      • codechef.com - RAINBOWA, editorial
      • codechef.com - FRGTNLNG, editorial
      • codechef.com - COPS, editorial
  3. Strings
    • Resources
      • tutorialspoint.com - C++ strings
      • guru99.com - Java strings
      • docs.python.org - Python strings
      • tutorialspoint.com - Python strings
      • geeksforgeeks.org - Many string questions
    • Practice Problems
      • codechef.com - CSUB, editorial
      • codechef.com - LAPIN, editorial
  4. Stack and Queue
    • Resources
      • geeksforgeeks.org - Stack Data Structure
      • geeksforgeeks.org - Introduction and Array Implementation
      • tutorialspoint.com - Data Structures Algorithms
      • cs.cmu.edu - Stacks
      • cs.cmu.edu - Stacks and Queues
      • cs.cmu.edu - Stacks and Queues
    • Practice Problems
      • spoj.com - JNEXT
      • spoj.com - STPAR
      • spoj.com - ONP
      • codechef.com - COMPILER
      • spoj.com - MMASS
      • spoj.com - HISTOGRA
      • codeforces.com - D. Maximum Xor Secondary
      • spoj.com - ANARC09A
      • codeforces.com - C. Minimal string
      • codeforces.com - B. Alternating Current
      • codeforces.com - C. Longest Regular Bracket Sequence
  5. Basic math operations (addition, subtraction, multiplication, division, exponentiation)
    • codechef.com - A tutorial on Fast Modulo Multiplication
  6. Euclid’s GCD Algorithm
    • Resources
      • youtube.com - Mycodeschool video
      • khanacademy.org - The Euclidean Algorithm
      • geeksforgeeks.org - Example program to find gcd in c++:
  7. Prime Numbers, divisibility of numbers
    • Resources:
      • Only O(sqrt(n)) algorithm for finding whether a number is a prime, factorization of a number.
      • Finding prime factors by taking the square root
    • Practice Problems:
      • community.topcoder.com - DivisorInc
      • community.topcoder.com - Prime Polynom
      • community.topcoder.com - Prime Anagrams
      • community.topcoder.com - Refactoring
  8. Basic Recursion
    • Resources
      • topcoder.com - An Introduction to Recursion, Part 1
      • topcoder.com - An Introduction to Recursion: Part 2
      • geeksforgeeks.org - Recursion ;(along with questions)
      • web.mit.edu - Recursion
      • csee.umbc.edu - Recursion ;(Examples with exercises)
      • loveforprogramming.quora.com - Backtracking, Memoization & Dynamic Programming
      • byte-by-byte - Recursion for Coding Interviews
    • Practice Problems
      • codechef.com - NOKIA, editorial
      • codechef.com - TRISQ, editorial
      • codechef.com - LFSTACK, editorial
      • codechef.com - FICE, editorial
  9. Greedy Algorithms
    • Resources
      • iarcs.org.in - Greedy Algorithms
      • iarcs.org.in - Greedy Algorithms
      • topcoder.com - Greedy Algorithms
      • Greedy Algorithms
    • Practice Problems
      • codechef.com - TACHSTCK, editorial
      • codechef.com - CIELRCPT, editorial
      • codechef.com - MAXDIFF, editorial
      • codechef.com - CHEFST, editorial
      • codechef.com - CAKEDOOM, editorial
      • codechef.com - CLETAB, editorial
      • codechef.com - TADELIVE, editorial
      • codechef.com - MANYCHEF, editorial
      • codechef.com - MMPROD, editorial
      • codechef.com - CHEFTMA, editorial
      • codechef.com - STICKS, editorial
      • spoj.com - BAISED
      • spoj.com - BALIFE
      • spoj.com - GCJ101BB
      • codechef.com - FGFS
      • codechef.com - KNPSK
      • codechef.com - LEMUSIC
      • spoj.com - ARRANGE
      • spoj.com - FASHION
  10. Dynamic programming (Basic DP) ◦ Resources - medium.freecodecamp.org - Demystifying Dynamic Programming - iarcs.org.in - Dynamic Programming - Tiling - topcoder.com - Dynamic Programming – From Novice to Advanced - illinois.edu - Dynamic Programming ;(Exercises are recommended) - codechef.com - Dynamic Programming - geeksforgeeks.org - Dynamic Programming ;(Contains a lot of practice sessions) - MIT OCW (Contains some Advanced topics as well) • Dynamic Programming I • Dynamic Programming II • Dynamic Programming III • Dynamic Programming IV ◦ Practice Problems - codechef.com - ALTARAY, editorial - codechef.com - DELISH, editorial - codechef.com - DBOY, editorial - codechef.com - XORSUB, editorial - codechef.com - GRID, editorial - codechef.com - TADELIVE, editorial - codechef.com - FROGV, editorial - codechef.com - MATRIX2, editorial - codechef.com - AMSGAME2, editorial - spoj.com - MDOLLS - spoj.com - MSTICK - spoj.com - MCARDS - spoj.com - MIXTURES - spoj.com - SAMER08D - spoj.com - AIBOHP
  11. Naive string searching ◦ Resources - geeksforgeeks.org - Naive Pattern Searching
  12. Sorting
    • khanacademy.org
    • visualgo.net
    • iarcs.org.in
    • Merge sort
      • youtube.com - Merge sort algorithm
      • Practice Problems codechef.com -MRGSRT
    • Quick sort
      • youtube.com - Quicksort algorithm
      • Practice Problems codechef.com -TSORT ◦ Counting sort
      • geeksforgeeks.org - Counting Sort
      • Practice Problems • codechef.com - TACHSTCK, editorial • codechef.com - STICKS, editorial
  13. Binary Search
    • Resources
      • topcoder.com (Try solving problems of Simple and Moderate level as mentioned in the end of the link)
      • codechef.com
      • usfca.edu
      • khanacademy.org ◦ Detailed Theoretical analysis
      • cmu.edu (A theoretical analysis) ◦ Problems
      • geeksforgeeks.org - Binary Search (Contains some solved problems)
      • codechef.com - STRSUB, editorial
      • codechef.com - ASHIGIFT, editorial
      • codechef.com - STACKS, editorial
      • codechef.com - DIVSET, editorial
      • codechef.com - LOWSUM, editorial
      • codechef.com - SNTEMPLE, editorial
      • codechef.com - SNAKEEAT, editorial
      • codechef.com - SCHEDULE, editorial
      • codechef.com - RIGHTTRI, editorial
      • codechef.com - FORESTGA, editorial
      • codechef.com - CHEFHCK2,editorial
      • spoj.com - ABCDEF
      • spoj.com - NOTATRI
      • spoj.com - SCALE
      • spoj.com - SUMFOUR
      • spoj.com - SUBSUMS
      • spoj.com - ANARC05B
      • spoj.com - RENT
      • spoj.com - PIE
      • spoj.com - MKUHAR
      • spoj.com - SVADA
      • spoj.com - SUBS
  • Past Test - https://www.codechef.com/FLPAST01
  • Test 1 - codechef.com/FLMOCK01
  • Test 2 - codechef.com/FLMOCK02
  • Test 3 - codechef.com/FLMOCK03
  • Test 4 - codechef.com/FLMOCK04

About

Programs from various sources implemented and executed by me.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published