COURSE INFORMATION
Â
Â

COURSE
Algorithms in Java
DESCRIPTION
You will be taught the theoretical background of each algorithm or data structure, as well as how to write the code on a step by step basis in Eclipse, Java.
.png)
PREREQUISITES
-
Core java
-
Eclipse or other IDE

CURRICULUM
INTRODUCTION
- Introduction
- Why use data structures
- Data structures and abstract data types
- Complexity theory
ARRAYS
- Arrays introduction - basics
- Arrays introduction - operations
- Using arrays
- ArraysLists in Java
LINKED LISTS
- Linked lists theory - basics
- Linked list theory - operations
- Linked list theory - doubly linked lists
- Linked list theory - linked lists versus arrays
- Linked list implementation I
- Linked list implementation II
- Linked list implementation III
- Doubly linked list introduction
- Linked lists in java.util
STACKS & QUEUES
- Stack introduction
- Stacks in memory management ( stacks, heaps )
- Stacks and recursive method calls
- Stack implementation with linked list I
- Stack implementation with linked list II
- Stack implementation with arrays
- Dijkstra's interpreter introduction
- Dijkstra's interpreter implementation
- Java built in java.util.Stack
- Queues introduction
- Queue implementation with linked list
- Java built in java.util.Queue
BINARY SEARCH TREES
- Binary search trees theory - basics
- Binary search trees theory - search, insert
- Binary search trees theory - delete
- Binary search trees theory - in-order traversal
- Binary search trees theory - running times
- Binary search trees implementation I - Node, Tree
- Binary search trees implementation II - insertion
- Binary search tree implementation III - maximum, minimum
- Binary search tree implementation IV - traversal
- Binary search tree implementation V - remove
- Binary search tree implementation VI - remove II
- Custom objects in a tree
BALANCED TREES: AVL TREES
- AVL trees introduction - motivation
- AVL trees introduction - basics
- AVL trees introduction - height
- AVL trees introduction - rotations cases
- AVL trees introduction - illustration
- AVL trees introduction - sorting
- AVL implementation - Node and Tree
- AVL implementation - balance and height parameters
- AVL implementation - implementing the rotations
- AVL implementation - insertion I
- AVL implementation - insertion II
- AVL implementation - testing
- AVL tree remove introduction
- AVL tree remove implementation I
- AVL tree generic implementation
BALANCED TREES: RED-BLACK TREES
- Red-black trees introduction - basics
- Red-black trees rotations- cases I
- Red-black trees rotations- cases II
- Red-black trees rotations- cases III
- Red-black trees rotations- cases IV
- Red-black trees introduction - example I
- Red-black trees introduction - example II
- Red-black tree versus AVL tree
- Red-black tree implementation I - Node class
- Red-black tree implementation II - traverse
- Red-black tree implementation III - insert
- Red-black tree implementation IV - rotate left / right
- Red-black tree implementation V - fixing the violations
- Red-black tree implementation VI - fixing the violations
- Red-black tree implementation VII - testing
SPLAY TREES
- Splay tree introduction I - basics
- Splay tree introduction II - example
- Splay tree implementation I - find, rotate
- Splay tree implementation II - spalying
- Splay tree implementation III - testing
B-TREES
- B-tree introduction - basics
- B-tree and external memory
- Disk access times
- B-tree introduction - search
- B-tree introduction - insertion
- B-tree introduction - deletion
- In-order traversal
BINARY HEAPS
- Priority queues introduction
- Heap introduction - basics
- Heap introduction - array representation
- Heap introduction - remove operation
- Heap introduction - heapsort
- Heap introduction - running times
- Other types of heaps: binomial and Fibonacci heap
- Heap implementation - insertion
- Heap implementation - get the minimum/maximum
- Heap implementation - heapsort
- Heap implementation - testing
- Heaps in java.util.PriorityQueue
HASHTABLES
- Associative array ADT
- Hashtables introduction - basics
- Hashtables introduction - collisions
- Hashtables introduction - load factor & dynamic resizing
- Chaining method summary
- Chaining implementation I - put
- Chaining implementation II - get
- Chaining implementation III - testing
- Linear probing summary
- Linear probing implementation I - put
- Linear probing implementation II - get
- Linear probing implementation III - testing
- Generic linear probing implementation I - basics
- Generic linear probing implementation II - get
- Generic linear probing implementation IV - remove
- Generic linear probing implementation V - resize
- Generic linear probing implementation VI - testing
- Generic linear probing implementation - hashCode
- Maps in Java Collections
INTERVIEW WITH SINGAPORE EXPERT
- Background of Expert
- Information and Communication Technology in Singapore
.png)
COURSE FEES
.png)
INSTRUCTIONS FOR ENROLMENT
1. Check if you are eligible for subsidies here and follow the instructions.
​
2. Purchase the e-module below:
​
​
​
3. Purchase BOTH the face-to-face lessons below:
​
​
​
4. Once you have completed 90% of your e-module, the Gen Infiniti team will contact you to schedule your in-person lessons.
​
​
Drop us an email at connect@geninfinitiacademy.com if you face any issues or problems enrolling in the course.
Â
Â