The following are some of the most important Java fundamental topics for a novice to learn:
Analysis of Algorithm
Order of Growth
Asymptotic Notations
Big O Notation
Omega Notation
Theta Notation
Analysis of common loops
Analysis of Recursion
Space Complexity
Practice Problems
Mathematics
Practice Problems
Introduction to Recursion
Applications of Recursion
Writing base cases in Recursion
Practice Problems
Introduction and Advantages
Operations on Arrays
Problems(With text Solutions)
Practice Problems
Binary Search Iterative and Recursive
Two Pointer Approach Problems(With text Solutions)
Problems(With text Solutions)
Practice Problems
Implementation of C++ STL sort() function in Arrays and Vectors
Sorting in Java
Arrays.sort() in Java
Collection.sort() in Java
Stability in Sorting Algorithms
Bubble Sort
Selection Sort
Insertion Sort
Merge Sort
Problems(With text Solutions)
Partitions(With text Solutions)
Quick Sort
Problems(With text Solutions)
Heap Sort
Cycle Sort
Counting Sort
Radix Sort
Bucket Sort
Overview of Sorting Algorithms
Practice Problems
Introduction and Time complexity analysis
Application of Hashing
Discussion on Direct Address Table
Working and examples on various Hash Functions
Introduction and Various techniques on Collision Handling
Chaining and its implementation
Open Addressing and its Implementation
Chaining V/S Open Addressing
Double Hashing
C++
Java
Problems(With text Solutions):
Practice Problems
Discussion of String DS
Strings in CPP
Strings in Java
Problems(With text Solutions):
Rabin Karp Algorithm
KMP Algorithm
Practice Problems
Introduction
Doubly Linked List
Circular Linked List
Loop Problems
Problems(With text Solutions):
Practice Problems
Understanding the Stack data structure
Applications of Stack
Implementation of Stack in Array and Linked List
Problems(With text Solutions):
Understanding getMin() in Stack with O(1)
Infix, Prefix and Postfix Introduction
Practice Problems
Introduction and Application
Implementation of the queue using array and LinkedList
Problems(With text Solutions)
Practice Problems
Introduction and Application
Implementation
In C++ STL
Problems(With text Solutions)
Practice Problems
Introduction
Implementation of:
Problems(With text Solutions):
Practice Problems
Background, Introduction and Application
Implementation of Search in BST
Insertion in BST
Deletion in BST
Floor in BST
Self Balancing BST
AVL Tree
Red Black Tree
Set in C++ STL
Map in C++ STL
BST Introduction
TreeSet in java
TreeMap in Java
Problems(With text Solutions):
Practice Problems
Introduction & Implementation
Binary Heap
Heap Sort
Priority Queue in C++
PriorityQueue in Java
Problems(With text Solutions):
Practice Problems
Introduction to Graph
Graph Representation
Breadth-First Search
Depth First Search
Shortest Path in Directed Acyclic Graph
Prim’s Algorithm/Minimum Spanning Tree
Dijkstra’s Shortest Path Algorithm
Bellman-Ford Shortest Path Algorithm
Kruskal’s Algoritm
Kosaraju’s Algorithm
Articulation Point
Bridges in Graph
Tarjan’s Algorithm
Practice Problems
Introduction
Activity Selection Problem
Fractional Knapsack
Job Sequencing Problem
Huffman Coding
Practice Problems
Concepts of Back Sectioning
Rat In a Maze
N Queen Problem
Sudoku Problem
Practice Problems
Introduction
Dynamic Programming
Problems(With text Solutions):
Practice Problems
Introduction
Count Distinct Rows in a Binary Matrix
Practice Problems
Introduction
Construction
Range Query
Update Query
Practice Problems
Introduction
Find and Union Operations
Union by Rank
Path Compression
Kruskal’s Algorithm
Practice Problems
©2023. Coding Thinker, a unit of Engineer Circle. All Rights Reserved.