Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
DSA por Mind Map: DSA

1. Basics

1.1. Space/Time Complexity

1.2. CPP Concepts

1.3. Recursion and Backtracking

2. Data Structure

2.1. Basic

2.1.1. Arrays

2.1.2. Linked Lists

2.1.3. Queues

2.1.4. Stacks

2.2. Advanced

2.2.1. Hashmap

2.2.2. Trees

2.2.3. Heaps

2.2.4. Graphs

2.2.4.1. Breadth First Search (BFS)

2.2.4.2. Depth First Search (DFS)

2.2.4.3. Shortest Path from source to all vertices: Dijkstra

2.2.4.4. Shortest Path from every vertex to every other vertex: Warshall

2.2.4.5. Minimum spanning tree: Prim

2.2.4.6. Minimum spanning tree: Kruskal

2.2.4.7. Strongly Connect Components: Kosaraju's

2.2.4.8. Topological Sort

2.2.4.9. Shortest path from source to all vertices with negative edges: Bellman Ford

2.2.4.10. Normal DSU

2.2.4.11. DSU by Rank

3. Algorithms

3.1. Searching

3.1.1. Binary Search

3.2. Sorting

3.2.1. Bubble Sort

3.2.2. Insertion Sort

3.2.3. Merge Sort

3.2.4. Selection Sort

3.2.5. Quick Sort

3.3. Sliding Window

3.4. Dynamic Programming

3.4.1. Memoization

3.4.2. Tabulation

4. Object Oriented Programming (OOPS)

4.1. Resources

4.1.1. CPP

4.1.2. Java

4.2. Overview

4.2.1. What is Object Oriented Programming?

4.2.2. How it is related to real world?

4.2.3. Why Study?

4.2.4. Limitations

4.3. Pillar of OOPs

4.3.1. What is a Class?

4.3.1.1. Difference between Structure and Class

4.3.1.2. Similarties between Structure and Class

4.3.1.2.1. Why use Structure over a class?

4.3.1.3. Access Modifiers

4.3.1.3.1. Public

4.3.1.3.2. Private

4.3.1.3.3. Protected

4.3.1.3.4. Friend

4.3.1.4. Member Functions

4.3.1.4.1. Inside Class Function

4.3.1.4.2. Outside Class Function

4.3.1.5. What is a Constructor?

4.3.1.5.1. Default Constructor

4.3.1.5.2. Parametrized Constructor

4.3.1.5.3. Copy Constructor

4.3.1.5.4. Virtual Constructor

4.3.1.5.5. Virtual Copy Constructor

4.3.1.5.6. How are constructors different from a normal member?

4.3.1.5.7. Can we have more than one constructor in a class?

4.3.1.6. Destructor

4.3.1.6.1. Private Destructor

4.3.1.6.2. Virtual Destructor

4.3.1.6.3. Pure Virtual Destructor

4.3.1.6.4. How destructors are different from a normal member function?

4.3.1.6.5. Can there be more than one destructor in a class?

4.3.1.6.6. When do we need to write a user defined destructor?

4.3.1.6.7. Can a destructor be virutal?

4.3.2. What is an Object?

4.3.2.1. Class Vs Object

4.3.3. Real World analogy of class and object

4.3.4. Important Keywords

4.3.4.1. Static

4.3.4.2. Virtual

4.3.4.3. Abstract

4.3.4.4. Final

4.3.4.5. Explicit

4.3.4.6. this

4.3.4.7. new

4.3.4.8. const

4.3.4.9. super

4.3.5. Features of OOPS

4.3.5.1. Polymorphism

4.3.5.1.1. What is Polymorphism?

4.3.5.1.2. Why is it needed?

4.3.5.1.3. Categorization

4.3.5.1.4. Virtual function

4.3.5.1.5. Virtual Class

4.3.5.1.6. Derived Class

4.3.5.1.7. Can virtual function be set "Private"?

4.3.5.1.8. Inline Virtual Function

4.3.5.1.9. Abstract Class

4.3.5.1.10. Pure Virtual Function

4.3.5.1.11. Pure Virtual Destructor

4.3.5.2. Inheritance

4.3.5.2.1. What is inheritance?

4.3.5.2.2. Why it is needed?

4.3.5.2.3. Can OOPs exist without Inheritance?

4.3.5.2.4. Types of Inheritance

4.3.5.2.5. Real life example of Multiple Inheritance

4.3.5.2.6. What are the limitations of Inheritance?

4.3.5.2.7. What is Sealed modifier?

4.3.5.2.8. Howe can we call the base method without creating an instance?

4.3.5.2.9. What is the difference between new and override?

4.3.5.2.10. Why Java does not support Multiple inheritance?

4.3.5.2.11. What is diamond problem in case of multiple inheritance?

4.3.5.2.12. If class A inherits from Class B, then what all is inherited from Parent class?

4.3.5.2.13. Object slicing

4.3.5.2.14. how to hide base class methods/function?

4.3.5.2.15. Friend Function/Friend Class/Inline Function

4.3.5.2.16. Local Class/Nested Class/Simulating Final Class

4.3.5.2.17. Does Overloading works with Inheritance?

4.3.5.2.18. Difference between Polymorphism and Inheritance?

4.3.5.2.19. Generalization Vs Aggregation Vs Composition

4.3.5.3. Encapsulation

4.3.5.3.1. What is Encapsulation?

4.3.5.3.2. Advantages/Need?

4.3.5.3.3. How to achieve?

4.3.5.3.4. Code/Implementation Example

4.3.5.3.5. Real world Example

4.3.5.4. Abstraction

4.3.5.4.1. What is Abstraction?

4.3.5.4.2. When to use it?

4.3.5.4.3. How to achieve it?

4.3.5.4.4. Encapsulation Vs Abstraction

4.3.5.4.5. What are the differences between interfaces and abstract classes?

4.3.6. Dynamic Binding

4.3.7. Message Passing

4.3.8. OO design Interview Questions

4.3.8.1. Design a hasp map

4.3.8.2. Design an LRU cache

4.3.8.3. Design a call center

4.3.8.4. Design a deck of cards

4.3.8.5. Design a parking lot

4.3.8.6. Design an online chat

4.4. Misc

4.4.1. C Vs C++ Vs Java

4.4.2. Difference between procedural programming and OOPs?

4.4.3. Why Java is not a Purely OOL?

4.4.4. Is an array a primitive type or an object in Java?

4.4.5. What is early and late binding?

4.4.6. What is the default access modifier in a class?

4.4.7. How many instances can be created for an abstract class?

4.4.8. Define Garbage collection? How does it work?

4.4.9. Define manipulators?

4.4.10. What do you mean by finally block?

4.4.11. What is a final variable?

4.4.12. What is meant by an exception?

4.4.13. Is an error basically the same as an exception?

4.4.14. Exception Handling

4.4.15. What is the method 'finalize' used for?

4.4.16. What is a token?

4.4.17. What are the three arguments of a ternary operator?

4.4.18. Descript the concept of Enum?

4.4.19. Basic understanding of design patterns

4.4.20. Is it possible for a class t inherit the constructor of its base class?

4.4.21. When should I use a struct instead of a class?

4.4.22. Cohesion Vs Coupling

5. Others

5.1. Number Theory

5.2. Bit Manipulation

5.3. Tries