skybarer / algorithms-and-data-structures

For learning algorithms and data-structures.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Algorithms and DataStructures

This project is started with the intent of learning algorithms and data-structures as it provides base for interview preparation. Anyone is free to add additional data structures and improvise the content. I hope anyone out there who is preparing for the big tech companies, this repository may provide a little help to them in the future.

List of references for practicing

Item Online Coding Sites
   Japanese Online Judge
   Hackerrank
   HackerEarth
   CodingNinjas
   LeetCode
   TopCoder
   InterviewBit
   Codeforces

Websites

The references provided here are my opinion and they may or may not be the right option for you, and also i don't have any copyrights the below links provided.

Git Channels

Book's

Youtube Channels

Blog's

Interview Tips

Algorithms

# Algorithm
1 Window Sliding Technique
2 Kaden's Algorithm.
3 Knuth–Morris–Pratt
4 Monte Carlo method
5 Markov chain
6 Bellman Ford Algorithm
7 dijkstra algorithm
8 Floyd-Warshall
9 Naive-Pattern-Searching
10 The JPEG compression
11 Run Length Encoding
12 LZW compression
13 Huffman Encoding
14 Manber Myers
15 Backtracking
16 greedy
17 Dynamic programming
18 Divide and Concur
19 Boyer-Moore search
20 Rabin-Karp
21 Manacher's
22 Flood-fill
23 Z Algorithm
24 Bellman–Ford
25 Dijkstra's
26 Ford–Fulkerson
27 Kruskal's
28 Nearest neighbour
29 Prim's algorithm
30 Depth-first search
31 Breadth-first search
32 Ford-Fulkerson
33 Fenwick Tree
34 Segment Tree
35 Prefix Tree
36 Suffix Tree
37 Master theorem
38 Jarvis-March

Data Structure

# Data Structures
1 Array
2 Linked List
3 Stack
4 Queue
5 Tree
6 Trie
7 Graph
8 Hash-Table
9 String
10 Heap
11 B-tree and B+ tree

Design Patterns

# Design Pattern
1 UML
2 Creational Design Patterns
3 Factory Method
4 Abstract Factory Method
5 Singleton
6 Builder
7 Prototype
8 Structural Design Patterns
9 Adapter
10 Bridge
11 Composite
12 Decorator
13 Facade
14 Flyweight
15 Proxy
16 Structural Patterns Summary
17 Behavioral Design Patterns
18 Chain of Responsibility
19 Command
20 Interpreter
21 Iterator
22 Mediator
23 Memento
24 Observer
25 State
26 Strategy
27 Template Method
28 Visitor
29 MVC - Model View Controller
30 J2EE Patterns

what i felt important while doing this project ?

whatever i do everything seems to be so mathematical. so along with this project i want to improve my math ability. so i started working on the below math areas as well.

Item Subject
   Vedic Math
   Number Theory
   Algebra
   Trigonometry
   Calculus
   Graph Theory
   Game Theory
   Probability and Statistic's
   Geometry
   Combinatorics

i know that these things can't be developed quickly, so i try to improve gradually, but at least i can scratch the basics for my next interview.

How do i plan to do this project ?

I thought of doing data structures first then algorithm's that are built on this data structures, but sometimes i may randomly do some other things depending on the mood.

How often do i update this project ?

I am currently not sure about it may be weekend days like (saturday's ,sunday's).

How to import this project ?

I had built this project using intellij editor. Anyone having intellij should be able to download and import the project. Make sure that is java is installed and set correctly in your OS.

How do i created this readme page ?

I followed the syntax from this markdown page. Check this link to structure your own readme pages.

How to check my markdown ?

online markdown editors are available click here to go to a online markdown editor.

intellij shortcuts?

  • CTRL + J for list of available shortcuts.
  • psvm public static void main(String[] args) { }
  • sout System.out.println()

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

For learning algorithms and data-structures.

License:MIT License


Languages

Language:Java 100.0%