Java Algorithms Videos

Java Algorithms
(https://www.youtube.com/watch?v=f5OD9CKrZEw&list=PLGLfVvz_LVvReUrWr94U-ZMgjYTQ538nT)

Published on 24 Feb 2013
Get the Code Here: http://goo.gl/2AJYt

Welcome to my Java Algorithms tutorial. In this series I will cover everything there is to know about Java algorithms and data structures.
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.
Like all of my tutorials, everything is simple at first and then I cover more complex topics.


Java Sort Algorithm
(https://www.youtube.com/watch?v=JUOyKSZScW0&list=PLGLfVvz_LVvReUrWr94U-ZMgjYTQ538nT&index=2)

Published on 28 Feb 2013
Get the Code Here: http://goo.gl/O8184l

Welcome to my Java sort algorithm tutorial. Here I will cover all of the elementary sorting algorithms : Bubble, Selection and Insertion sort.
I also created a new method we can use to analyze the arrays so we can learn how the sorts work. I want this video to be very interactive so that you really understand the sort algorithms.
I also cover the linear and binary search algorithms. The code above will help you learn these algorithms perfectly.


Stacks and Queues
(https://www.youtube.com/watch?v=JvGZh_BdF-8&index=3&list=PLGLfVvz_LVvReUrWr94U-ZMgjYTQ538nT)

Published on 1 Mar 2013
Get the Code Here: http://goo.gl/OzbXM

Welcome to my tutorial on Java Stacks and Queues. The data structures most are used to such as Arrays, linked lists, trees, etc. are best for data that represents real objects. Stacks and Queues are instead used to complete a task and are soon after discarded.
A major difference is that stacks and queues 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
(https://www.youtube.com/watch?v=195KUinjBpU&index=4&list=PLGLfVvz_LVvReUrWr94U-ZMgjYTQ538nT)

Published on 3 Mar 2013
Get the Code: http://goo.gl/T40EF

In this video, I’ll cover how work with a linked list in java. I’ll show you how they work in 4 different ways.
We’ll cover how to create them, what a link is, how to add and delete links, how to search through them and a whole bunch more. The basics you need to understand at the end are that:
1. A Link is an Object
2. Each Link has a reference to another Link in the List
3. The LinkedList has only a reference to the last Link added to it.


Linked List in Java 2
(https://www.youtube.com/watch?v=iR5wyCaIayk&list=PLGLfVvz_LVvReUrWr94U-ZMgjYTQ538nT&index=5)

Published on 7 Mar 2013
Get the Code: http://goo.gl/DZ3al

In the last video, I showed you how to create Linked Lists and how to manipulate them.
In this tutorial, 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 and how they work.


Java Recursion
(https://www.youtube.com/watch?v=neuDuf_i8Sg&index=6&list=PLGLfVvz_LVvReUrWr94U-ZMgjYTQ538nT)

Published on 9 Mar 2013
Get the Code: http://goo.gl/S8GBL

Welcome to my Java Recursion tutorial. In this video, I’m going to cover java recursion in 5 different ways. I figured if I show it using many different diagrams that it will make complete sense.
A recursive method is just a method that calls itself. As these calls are made the problem gets simpler until you reach a condition that leads to the method no longer making calls upon itself. This is known as the base case.


Java Shell Sort
(https://www.youtube.com/watch?v=IlRyO9dXsYE&index=7&list=PLGLfVvz_LVvReUrWr94U-ZMgjYTQ538nT)

Published on 14 Mar 2013
Get the Code Here: http://goo.gl/Z6z3U

Welcome to my Java Shell Sort tutorial! 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. Everything can be found in the link above.
The Shell Sort is one of the fastest of the easier to understand sorting algorithms. It is similar to the insertion sort, but it has an added feature in which it partially sorts the array before the insertion sort is used. The video and code will explain everything.


Java Quick Sort
(https://www.youtube.com/watch?v=mN5ib1XasSA&index=8&list=PLGLfVvz_LVvReUrWr94U-ZMgjYTQ538nT)

Published on 16 Mar 2013
Get the Code Here: http://goo.gl/zPL7r

Welcome to my Java Quick Sort tutorial! In most situations the Quick Sort is the fastest sorting algorithm.
In essence, the quick sort works by partitioning arrays so that the smaller numbers are on the left and the larger are on the right. I’ll cover what partitioning is in this video.
The Quick Sort then recursively sends small parts of larger arrays to itself and partitions again. Between the code and the video you will completely get it in the end.


Big O Notations
(https://www.youtube.com/watch?v=V6mKVRU1evU&index=9&list=PLGLfVvz_LVvReUrWr94U-ZMgjYTQ538nT)

Published on 18 Mar 2013
Get the Code Here: http://goo.gl/Y3UTH

Welcome to my Big O Notations tutorial. Big O notations are used to measure how well a computer algorithm scales as the amount of data involved increases. It isn’t however always a measure of speed as you’ll see.
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). Between the video and code below I hope everything is completely understandable.