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.

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





COURSE FEES

$517.97

You may be eligible for up to 100% of subsidy for your course fees.

Check here.

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.

 
 

QUICK LINKS

Home

About Us

Courses

Subsidies

CONNECT WITH US

connect@geninfinitiacademy.com

+65 6909 1888

+65 6909 1889

Customer Service Hotline: +65 8660 4591

VISIT US

7 Jurong West Avenue 5

#02-01 Singapore 649486

Facebook logo leading to Gen Infiniti Academy's Facebook Page
Instagram logo leading to Gen Infiniti Academy's Instagram Page
YouTube logo leading to Gen Infiniti Academy's YouTube Channel
Telegram logo leading to Gen Infiniti Academy's Telegram group

© 2020 Gen Infiniti Academy  |  Privacy Policy  |  Terms of Service  |  Refund Policy