# Java Algorithm Video Tutorial

Welcome to my Java algorithm video tutorial. Here I provide 18 videos on not only Java algorithms, but I also cover Data Structures in depth.

We cover numerous search and sorting algorithms. We also look at stacks, queues, lists, recursion, Big O Notation, hash tables, trees, heaps and a ton more.

A playlist filled with all the videos is below, along with links to all of the code used.

If you like videos like this, it helps to tell Google+ with a click here [googleplusone]

Java Algorithm Video Tutorial Articles and Code

Java Algorithms 1 : An algorithm is just the steps you take to manipulate data. A data structure is the way data is arranged in memory. There are 3 main data structure operations I will focus on first being inserting, deleting and searching for data.

Java Sort Algorithm : Here I will cover all of the elementary sorting algorithms : Bubble, Selection and Insertion sort. I also cover the linear and binary search algorithms.

Stacks and Queues : Stacks and Queues are used to complete a task and are soon after discarded. They also allow only a single item to be added or removed at a time. Stacks then provide access to the last item in, while queues provide access to the first item in.

Linked List in Java : I cover how to create linked lists, what a link is, how to add and delete links, how to search through them and a whole bunch more.

Linked List in Java 2 :  I will cover Double Ended Linked Lists which have a reference to the first and last link. I cover how a Doubly Linked List allows you to go backwards and forwards in a list. Then we take a look at Iterators.

Java Recursion : I cover java recursion in 5 different ways. I figured if I show it using many different diagrams that it will make complete sense.

Java Shell Sort : I really tried to have fun explaining how the Shell Sort works in this tutorial. I show how it works in 4 different ways. We see it graphically, in a presentation format, explained during execution and again in the code itself.

Java Quick Sort : The Quick Sort is normally the fastest sorting algorithm and in this tutorial you’ll learn all about it.

Big O Notations : This is a rough overview of Big O and I hope to simplify it rather than get into all of the complexity. I’ll specifically cover the following O(1), O(N), O(N^2), O(log N) and O(N log N).

Java Hash Table : 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.

Java Hash Tables 2 : I 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

Java Hash Tables 3 : I 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.

Binary Tree in Java : I 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 Trees in Java 2 : 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.

Solving Programming Problems : In this tutorial I’ll answer the question I’ve been getting, which is how to print a tree data structure. I also cover solving programming problems in general.

Solving Programming Problems 2 : I walk through the process of finding bugs in code and talk about how we can fix those bugs.

Java Heap Tutorial : 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.

### 4 Responses to “Java Algorithm Video Tutorial”

1. CS101 says:

Hi Derek, I am a Computer Science student. I recently came across your website and I was super impressed with the contents of your website. I wish my professors were as good as you when teaching things that I should have learned in college.

I want a job in Software Development, however I don’t know where to start (especially since my internship has been in Software testing) and how I can greatly improve my chances of landing a position in Development. Can you suggest a path I can follow and skills I should master, possibly using your website and other resources to land a Software Development position in a good company (MS, Amazon, etc)? Some background: I have a fair GPA. I can definitely write code at fizzbuzz level if not more.

• Derek Banas says:

Do whatever you can to meet with current employees at the companies you want to work for. It is best to meet them in person. Offer to take them out to lunch. Sell them on how nice of a person you are first. Make them like you. An employer makes many of their hiring decisions on whether they like you and whether you are a hard worker.

Ask these people about the skills you need to develop. Then close them on any job possible at the company. Tell them you’ll take any position. I did this at all of the large companies that hired me.

Then develop the skills required and become an asset they can’t afford to lose.

I hope that helps

2. Habib Hillol says:

Hi Derek,
I am following your channels for quite a long time for many of the topics 🙂 and What should I say? This is more than perfect and I dont know how to thank you , may be someday i will meet you and thank you in person.

However, I was following your algorithm tutorial , I am not good at this subject (presently doing MS at VUB Brussels) and exam is knocking at the door.I didnt see graph and circular vector , I didnt go through all the videos is this possible you have covered somewhere ? if so , could you please suggest thanks 🙂 . Cheers.

Habib

• Derek Banas says:

Hi Habib, Thank you I’m very happy I have been able to help. I haven’t covered advanced algorithms yet sadly. I hope to cover them soon, but I have had a very busy month. I wish you all the best and I’m sorry I couldn’t help this time. This is a good book on Algorithms

Google+