Data Structures and Abstractions with Java

(DS-JAVA.AP1.0L0)
Lab
Get A Free Trial

Skills You’ll Get

1

Bags

  • Counting the Occurrence of Each Item in a Bag
  • Finding the Intersection of Two Arrays
  • Transposing a Matrix
  • Performing Matrix Multiplication
2

Bag Implementations That Use Arrays

  • Handling an Exception
3

A Bag Implementation That Links Data

  • Counting the Entries in a Bag
  • Adding a Node at the End of a Doubly Linked Chain
  • Removing First Node from a Doubly Linked Chain
4

The Efficiency of Algorithms

  • Adding Nodes to the Beginning of a Doubly Linked Chain
  • Searching an Entry in a Bag
  • Rearranging the Integers in an Array
5

Stacks

  • Creating a Stack and Adding Five Elements to it
  • Removing an Element from a Stack
  • Searching an Element in a Stack
  • Transferring the Elements of One Stack to Another
  • Transforming an Infix Expression to a Postfix Expression
  • Evaluating a Postfix Expression
  • Evaluating an Infix Expression
  • Testing an Input String for Palindrome Using a Stack
6

Stack Implementations

  • Creating an Array-Based Stack to Retrieve the Topmost Entry
  • Creating a Vector-Based Stack to Retrieve the Topmost Entry
  • Creating Custom Exception Class
7

Queues, Deques, and Priority Queues

  • Creating a Queue
  • Creating a Deque
  • Creating a Priority Queue
8

Queue, Deque, and Priority Queue Implementations

  • Removing the First Element from a Circular Linked Queue
  • Removing the First Element from a Doubly Linked Deque
9

Recursion

  • Creating a Recursive Void Method to Print First Five Natural Numbers
  • Traversing the Elements of a Linked List in Reverse Order
  • Creating a Recursive Method to Return the Factorial of a Number
10

Lists

  • Replacing an Element in the Linked List
11

A List Implementation That Uses an Array

  • Removing an Element from the Specified Position in a Linked List
  • Locating an Element in the Linked List
12

A List Implementation That Links Data

  • Adding an Element at the Specified Position in a Linked List
  • Converting an ArrayList to an Array
13

Iterators for the ADT List

  • Working with a List
  • Traversing a List
  • Removing Duplicates from the List
14

Problem Solving with Recursion

  • Evaluating a Prefix Expression
15

An Introduction to Sorting

  • Sorting an Array using Shell Sort
  • Sorting an Array using Insertion Sort
  • Sorting an Array using Selection Sort
16

Faster Sorting Methods

  • Replacing a Word Using the StringBuilder Class
  • Sorting an Array using Radix Sort
  • Sorting an Array using Quick Sort
  • Sorting an Array using Merge Sort
17

Sorted Lists

  • Using the Abstract Class
  • Using Polymorphism
  • Inserting an Element into a Sorted Array
18

Inheritance and Lists

  • Sorting a List using Inheritance
19

Searching

  • Performing Binary Search
  • Performing Sequential Search
20

Dictionaries

  • Implementing a Map
  • Implementing a Dictionary
21

Dictionary Implementations

  • Searching for a Key in a Dictionary
22

Introducing Hashing

  • Using Linear Probing in a Hash Table
23

Hashing as a Dictionary Implementation

  • Implementing HashMap
24

Trees

  • Traversing a Binary Tree using Inorder Traversal
  • Traversing a Binary Tree using Preorder Traversal
  • Traversing a Binary Tree Using Postorder Traversal
25

Tree Implementations

  • Computing the Height of a Binary Tree
  • Counting the Nodes of a Binary Tree
26

A Binary Search Tree Implementation

  • Removing a Node from a Binary Search Tree
  • Searching a Node in the Binary Search Tree
27

A Heap Implementation

  • Sorting an Array using Heap Sort
  • Removing the Maximum Value Node from a Max Heap
  • Adding Nodes to a Max Heap
28

Balanced Search Trees

  • Adding Nodes to an AVL Tree
29

Graphs

  • Using Dijkstra's Algorithm
  • Using Topological Sort
  • Using the BFS Traversal
  • Using the DFS Traversal
30

Graph Implementations

  • Printing an Adjacency Matrix
  • Printing an Adjacency List

Related Courses

All Courses
scroll to top