Advanced Data Structures & Algorithms in Java: Sorting & Searching Algorithms

Overview/Description
Expected Duration
Lesson Objectives
Course Number
Expertise Level

Overview/Description

Data structures and algorithms are vital tools in writing robust and performant code. Being trained in the proper use of these tools is the responsibility of all Software Engineers. Using these tools correctly involves recognizing which algorithms to use for which scenarios.

In this course, you'll identify and implement several algorithms to sort data stored in a list. You'll explore the various trade-offs made with sorting algorithms in terms of time and space complexity. You'll recognize the nitty-gritty details of sorting algorithms such as selection sort, bubble sort, insertion sort, and divide and conquer algorithms like merge sort and quick sort.

Finally, you'll learn to use searching algorithms that allow you to quickly look elements up in a sorted list such as binary search, jump search, and interpolation search.

Expected Duration (hours)
2.7

Lesson Objectives

Advanced Data Structures & Algorithms in Java: Sorting & Searching Algorithms

• discover the key concepts covered in this course
• recognize the trade-offs involved in choosing sorting algorithms
• describe the selection sort algorithm
• write code to implement selection sort
• explain the bubble sort algorithm
• write code to implement bubble sort
• implement adaptive bubble sort with early stopping
• define the insertion sort algorithm
• write code to implement insertion sort
• summarize the shell sort algorithm
• write code to implement shell sort
• describe the merge sort algorithm
• develop methods for splitting and merging operations
• write code to implement merge sort
• define the quick sort algorithm
• write code to implement quick sort
• describe the binary search algorithm
• design and write code for linear search
• design and write code for binary search
• design and write code for jump search
• design and write code for interpolation search
• summarize the key concepts covered in this course
• Course Number: