- This is the Java PlayGround to toss around with Java, DataStructure and Algorithms, as well as Design Patterns
- No external libraries like google guava, apache commons. Only core jdk
- Implement Data Structures from scratch are recommended
- Implement Design Patterns based on real-world problem. You must understand the problem!!!
!Important:
Don't just read, stop and think. Image that somebody really is asking the question. More deeply the brain is forced to think, the better change to learn and thinking
Do the solution your own. Write your own docs based on your understanding
There is a process of transfer knowledge from short-term to long-term memory after put the book down. The brain needs time to do more processing.
Speaking activates a different part of the brain. Explain, or teach to someone else to increase of remember it
- Introducing to Algorithms fourth Edition (MIT)
- DSA in Java
- Elements of Programming Interviews.
- The Algorithms Design Manual
- Algorithmic Thinking (No Starch Press)
- Classic Computer Science Problems in Java
- CS50: the crème de la crème of introductory CS
- MIT OpenCourseware: Amazing all-rounded algorithms course made by MIT
- Abdul Bari / Indian Sensei: Simply the best 🤣
- NeetCode:
- Algorithms, Princeton University (Coursera)
- Head First Design Patterns 4th Edition
- Design Pattern, Gang of four
- System Analysis and Design tt
- Refactoring.guru
- Java Design Patterns Project on GitHub
- Java OCP 21
- Modern Concurrency in Java
- Effective Java
- Java CookBook 5th Edition
- Optimized Cloud Native Java
├───datastructures_algorithms
│ ├───array
│ ├───binarysearchtree
│ ├───binarytree
│ │ └───implementations
│ ├───bloomfilter
│ ├───btree
│ ├───cache
│ │ └───cachestore
│ ├───datacompression
│ ├───dynamicprogramming
│ ├───graph
│ │ └───implementations
│ ├───greedy
│ ├───hashmap
│ │ ├───implementations
│ │ └───practice
│ ├───heap
│ │ └───implementations
│ ├───intervals
│ ├───leet150
│ ├───linkedlist
│ │ └───implementations
│ ├───math
│ ├───parallelprogramming
│ ├───queue
│ ├───recursion
│ ├───searching
│ ├───skiplist
│ ├───slidingwindows
│ ├───sorting
│ ├───stack
│ ├───string
│ ├───substringsearch
│ ├───trie
│ ├───twopointers
│ └───utils
├───designpatterns
│ ├───adapter
│ │ ├───hometheather
│ │ └───images
│ ├───ambassador
│ ├───builder
│ ├───command
│ │ └───homeautomation
│ ├───decorator
│ │ ├───images
│ │ ├───mymythicalshop
│ │ │ ├───champions
│ │ │ └───items
│ │ ├───onlinepaymentsystem
│ │ └───starbuzzcoffee
│ │ ├───beverages
│ │ └───condiments
│ ├───factory
│ │ ├───excellent_automotive
│ │ ├───images
│ │ └───pizzahub
│ │ ├───factories
│ │ ├───ingredients
│ │ └───product
│ ├───interfacesegeration
│ ├───iterator_composite
│ ├───observer
│ │ ├───mynotificationsystem
│ │ └───weatherforecastingsystem
│ ├───proxy
│ ├───retry
│ ├───singleton
│ ├───state
│ │ └───gumballmachine
│ ├───strategy
│ │ ├───mygame
│ │ │ ├───attacks
│ │ │ ├───champion
│ │ │ ├───defense
│ │ │ └───move
│ │ └───simuduckapp
│ │ ├───ducks
│ │ ├───flybehaviors
│ │ └───quackbehaviors
│ └───template
├───effectivejava
│ ├───chapter10_exceptions
│ ├───chapter11_concurrency
│ ├───chapter2_creating_and_destroying_objects
│ ├───chapter4_classes_interfaces
│ ├───chapter6_enums_annotations
│ └───chapter8_methods
└───javacore
├───classfile_bytecode
├───datetime
├───files
├───functional
├───module
├───network
├───ocp
│ └───chapter8_concurrent
├───reflection
├───threads
│ ├───mycarnet
│ └───ryanmonica- Click on each link to see more details about the topic