----------------------------------------------
OBJECTIVE - Become A Competitive Programmer
----------------------------------------------
“ For me, great algorithms are the poetry of
computation. Just like verse, they can be terse,
allusive, dense, and even mysterious.
But once unlocked, they cast a brilliant new
light on some aspect of computing. ”
— Francis Sullivan
----------------------------------------------
“ An algorithm must be seen to be believed. ”
— Donald Knuth
----------------------------------------------
“ I will, in fact, claim that the difference
between a bad programmer and a good one is
whether he considers his code or his data
structures more important.
Bad programmers worry about the code.
Good programmers worry about data structures
and their relationships. ”
— Linus Torvalds
----------------------------------------------
“ Algorithms + Data Structures = Programs. ”
— Niklaus Wirth
----------------------------------------------
Hi. I am Anit and I am a ever learning
student of mathematics and computer science.
I have worked for many years as a software
development engineer and I believe that I
have to keep myself skilled so from time to
time I have to go through the basics again
and after. Keep updated with the newer
technologies is a must but not at the cost
of forgetting or weakening the basics that
are fundamentals of any technology.
Hence, the objective of this repository is
personal growth and development of programming
skills.
The repository contains the code challenges
and their solutions from different sources.
Also includes implementation of basic data
structures and algorithms.
The code base is Java.
Books and other resources can be found at the
"notes" folder.
----------------------------------------------
References from Princeton University to
re-enforce the basic and advance programming
skills:
https://introcs.cs.princeton.edu/java/home/
https://www.coursera.org/learn/cs-programming-java
https://algs4.cs.princeton.edu/
https://www.coursera.org/learn/algorithms-part1/
https://www.coursera.org/learn/algorithms-part2/
https://aofa.cs.princeton.edu/home/
https://www.coursera.org/learn/analysis-of-algorithms/
https://ac.cs.princeton.edu/home/
https://www.coursera.org/learn/analytic-combinatorics
I am forever greatful to Princeton University
and it's outstanding faculty for making these
online resources free, and especially Robert
Sedgewick & Kevin Waynefor excellent contents.
----------------------------------------------
Recently came to know about a playlist on
Algorithms by Abdul Bari on YouTube. I am
very thankful to his effort on making very
hard things easy to understand.
youtube.com/watch?v=e2cF8a5aAhE&list=PLDN4rrl48XKpZkf03iYFl-O29szjTrs_O
----------------------------------------------
Resources for Software Engineers
Clean Code by Robert C. Martin
Design Patterns by The Gang of Four
Design Principles like SOLID, DRY
Test Driven Development by Kent Beck
Refactoring by Martin Fowler
Introduction to Algorithms by CLRS
Algorithm Design by Kleinberg & Tardos
http://algorist.com/algorist.html
----------------------------------------------
Contents of the repository to cover this list
- Mathematics : Prime Number, Big Integer, Permutation,
Number Theory, Factorial, Fibonacci, Sequences,
Modulus
- Dynamic Programming : Longest Common Subsequence,
Longest Increasing Subsequence, Edit Distance,
0/1 Knapsack, Coin Change, Matrix Chain Multiplication,
Max Interval Sum
- Graph Traversal : Flood Fill,Floyd Warshal, MST,
Max Bipartite Matching, Network Flow,
Articulation Point
- Sorting : Bubble Sort, Quick Sort, Merge Sort,
Selection Sort, Radix Sort, Bucket Sort
- Searching : Complete Search, Brute Force, Binary Search
- String Processing : String Matching, Pattern Matching
- AdHoc Problems: Trivial Problems
----------------------------------------------
If in anyway I can be of any help with my skills of
programming, I will undoubtably be willing to help.
Please do not hesitate to reach out to me!
[email protected]
----------------------------------------------
TODO:
1. Add unit tests.
2. Implement CI to run the unit tests.
vinodkandula / codechallenge Goto Github PK
View Code? Open in Web Editor NEWThis project forked from java-cheatsheet/codechallenge
Code Challenge Solutions from different sources in Java by Anit Shrestha Manandhar.
Home Page: https://codeanit.com