More Java Algorithms Tutorials

Java Hash Table
(https://www.youtube.com/watch?v=B4vqVDeERhI&list=PLGLfVvz_LVvReUrWr94U-ZMgjYTQ538nT&index=10)

Published on 20 Mar 2013
Get the Code Here: http://goo.gl/srwIf

Welcome to my Java Hash Table tutorial. A Hash Table is a data structure offers fast insertion and searching capabilities. The negative is that they are limited in size because they are based on arrays. They are also hard to order.
People get confused about them because of the Hash Function. A hash function is used to generate a unique key for every item in the array. Since every item is entered using a calculation, this allows you to reverse the calculation to immediately find the proper index. This way you can find items without the need to search through the whole array.


Java Hash Tables 2
(https://www.youtube.com/watch?v=QWVBu_GlUgI&index=11&list=PLGLfVvz_LVvReUrWr94U-ZMgjYTQ538nT)

Published on 22 Mar 2013
Get the Code Here: http://goo.gl/0GKD8

Welcome to the 2nd part of my Java Hash Tables tutorial. If you missed part 1, definitely watch it first.
In this tutorial, I will cover all of the following and more:
1. Why We Use Prime sized hash tables
2. How to Increase Hash Table Size
3. How to Avoid Clustering
4. How Double Hashing Works
5. How to Find Values in a Double Hashed Hash Table
This video provides many useful algorithms aside from the info on hash tables.


Java Hash Tables 3
(https://www.youtube.com/watch?v=SVsT7oG4ap8)

Published on 25 Mar 2013
Get the Code Here: http://goo.gl/rjkFK

Welcome to the 3rd part of my Java Hash Tables Tutorial. If you missed the previous parts you should watch them first.
I will review linked lists because I’ve received many requests on them. I’ll also show you how to hash strings, so that we can make a tool that can be used as a dictionary, spell checker, or something like Google Instant. I also show how to use lists in hash tables to demonstrate something called Separate Chaining.


 Java Binary Search Tree
(https://www.youtube.com/watch?v=M6lYob8STMI&list=PLGLfVvz_LVvReUrWr94U-ZMgjYTQ538nT&index=13)

Published on 28 Mar 2013
Get the Code Here: http://goo.gl/Zuatn

Welcome to my tutorial on the Binary Tree in Java. On average a tree is more efficient then other data structures if you need to perform many different types of operations.
In this tutorial I’ll show you what a binary tree is, and how to create, add, traverse and find nodes. I’ll also explain all the terminology used when describing tree structures. We’ll cover nodes, paths (edges), traversing and much more.


Binary Search Tree 2
(https://www.youtube.com/watch?v=UcOxGmj45AA&list=PLGLfVvz_LVvReUrWr94U-ZMgjYTQ538nT&index=14)

Published on 30 Mar 2013
Get the Code Here: http://goo.gl/7u73U

Welcome to my 2nd video on Binary Trees in Java. If you haven’t seen part 1, definitely watch it first or this will be confusing binary tree in Java.
In this part of the tutorial, I will take you step-by-step through the process of deleting nodes in a binary tree. This topic seems to be confusing to many people. I personally prefer to build trees with the builder design pattern like I showed here Encapsulate Composite with Builder, but it is also important to understand the basics of the binary tree.


 Solving Programming Problems
(https://www.youtube.com/watch?v=63BBWWsqsT0&list=PLGLfVvz_LVvReUrWr94U-ZMgjYTQ538nT&index=15)

Published on 4 Apr 2013

Ge the Code Here: http://goo.gl/R6R1F

To finish off my Java Algorithm tutorial, I thought it would be interesting to cover solving programming problems in general. So, in this tutorial I’ll answer the question I’ve been getting, which is how to print a tree data structure.
On our journey to better understand how to solve problems I will first solve the basic problem. Then in the next part of the tutorial I will perfect printing any type of tree. The code above will better explain the process of solving this problem.


Published on 6 Apr 2013
Get the Code Here: http://goo.gl/EI3WO

In my previous tutorial I walked you threw the process of solving a generic programming problem. We made a method that printed out a tree structure in the console.
In this tutorial, I’ll walk through the process of finding bugs in the code and talk about how we can fix those bugs. I think this topic may be the hardest to teach. I hope the video and the code that follows can help you better grasp how to solve most any programming problem.


Java Heaps
(https://www.youtube.com/watch?v=eFCn6udv3gQ&index=17&list=PLGLfVvz_LVvReUrWr94U-ZMgjYTQ538nT)

Published on 8 Apr 2013
Get the Code Here: http://goo.gl/Lx2uv

Welcome to my Java Heap Tutorial. In previous tutorials, I covered how to print out trees in Java. You may want to look at that before continuing here, but it isn’t required.
A Heap is kind of like a tree, but it is normally implemented as an array. There are 2 main rules for using a heap. 1. Every row is complete except for last row. 2. Parent keys are bigger then children. I will cover how to insert and remove items. I’ll show how an array is heaped. I’ll also cover how the Heap Sort works. Everything is covered in the video and code.