Unlock this course with a free trial
Join today to access over 15,000 courses taught by industry experts.

Course details
Enhance your programming skill set by learning about some of the most commonlyused data structures and algorithms. In this course, instructor Raghavendra Dixit walks through how to use Java to write code to implement data structures and algorithms. After explaining why it's advantageous to study these topics, he goes over the analysis of algorithms and discusses arrays—a data structure found in most programming languages. He also explains how to implement linked lists in Java, and covers stacks, queues, recursion, binary search trees, heaps, and more.
Note: This course was created by Packt Publishing. We are pleased to host this training in our library.Instructor

Raghavendra Dixit

Raghavendra Dixit is an entrepreneur and technical architect with over 15 years of programming experience.
A graduate of the Indian Institute of Technology, Raghavendra has worked in both product and servicebased software companies. He has worked with languages such as Perl, Java, ObjectiveC, Scala, and JavaScript. He has also used various frameworks and platforms, including Spring, Play, Cocoa, and Android. In his free time, he likes to create technical content that's easy to follow, and helps people in the software industry enhance their skills and accelerate their careers.

Raghavendra Dixit is an entrepreneur and technical architect with over 15 years of programming experience.
Skills covered in this course


Introduction
“ [Instructor] Now we come to the math of time complexity. To understand time complexity in a form of a very simple expression. Computer scientist define the Big O notation, which is one of the many other notations dealing with time complexity. Like the teton notation, the small notation and on. But in this course, of course we only deal with the bigger notation. Let's say that the order of time that we found for an algorithm is a quadratic function in N as displayed here through this graph. And their job is to find the upper bound for this upper function, T(n), alright? Now consider a function C one N squared, and here seven is so chosen that this function overtakes the function T(n). But then we can choose another constant C two, such that C two N squared is always greater than or equal to the T(n) for all values of N greater than N not, can you see that? Now we can say that C two N squared is in upper bound of of T(n). Because of after some value of N C two N squared will always be…

Practice while you learn with exercise files
Download the files the instructor uses to teach the course. Follow along and learn by watching, listening and practicing.
Download the exercise files for this course. Get started with a free trial today.

Download courses and learn on the go
Watch courses on your mobile device without an internet connection. Download courses using your iOS or Android LinkedIn Learning app.
Watch this course anytime, anywhere. Get started with a free trial today.
Contents


Selection sort2m 48s

Selection sort: Pseudocode2m 34s

Introduction to insertion sort1m 56s

Applying insertion sort algorithm to cue balls2m 8s

Insertion sort: Pseudocode2m 38s

O(n²) sorting algorithms: Comparison1m 59s

Stable vs. unstable sorts3m 46s

Searching elements in an unordered array3m 16s

Searching elements in an ordered array2m 33s

Searching elements in an ordered array continued5m 48s

Inserting and deleting items in an ordered array2m 8s

Sorting any type of object1m 33s



What is a linked list?3m 21s

Implementing a linked list in Java56s

Inserting a new node5m 25s

Length of a linked list2m 11s

Deleting the head node2m 11s

Searching for an item3m 11s

Doubly ended lists3m 5s

Inserting data in a sorted linked list4m 38s

Doubly linked list6m 28s

Insertion sort revisited10m 32s



The tree data structure3m 41s

Binary trees3m 34s

Binary search trees2m 1s

Finding an item in a binary search tree2m 24s

Implementing the find method3m 2s

Inserting an item in a binary search tree3m 34s

Deleting an item: Case 16m 5s

Deleting an item: Case 22m 58s

Deleting an item: Case 33m 44s

Deleting an item: Soft delete1m 40s

Finding smallest and largest values2m 33s

Tree traversal: In order3m 19s

Tree traversal: Pre order1m 58s

Tree traversal: Post order56s

Unbalanced trees vs. balanced trees2m 16s

Height of a binary tree1m 34s

Time complexity of operations on binary search trees2m 16s
