# Data Structures and Algorithms in Java

In computer science, a **D****ata Structure** is a data organization, management, and storage format that enables efficient access and modification.^{}^{}^{} More precisely, a data structure is a collection of data values, the relationships among them, and the functions or operations that can be applied to the data.^{}

**Data structures and algorithms** are essential to computer science, which is the study of data, its representation in memory, and its transformation from one form to another. In programming, we use data structures to store and organize data, and we use algorithms to manipulate the data in those structures. The more you understand about data structures and algorithms, the more efficient your **Java programs** will be.

This course launches a series introducing** Data structures and Algorithms in Java**. you’ll learn what a data structure is, What an algorithm is and how algorithms are represented using Java Programming in simple and easy steps.

### Course Features

- Lectures 50
- Quizzes 0
- Students 5
- Certificate No
- Assessments Yes

#### Chapter 1

- How to represent a Linked List in Java ?
- How to create a linked list in Java ?
- How to print elements of a Linked List in Java
- How to find length of a Linked List in Java ?
- How to insert node at the beginning of a Linked List in Java ?
- How to insert a node at the end of Linked List in Java ?
- How to insert a node in Linked List after a given node in Java ?

#### Chapter 2

- How to insert a node in Linked List at a given position in Java ?
- How to delete first node from a Linked List in Java ?
- How to delete last node of a Linked List in Java ?
- How to delete a node from a Linked List at a given position in Java ?
- How to search an element in a Linked List in Java ?
- How to reverse a Singly Linked List in Java ?
- How to find middle node in a Singly Linked List in Java?

#### Chapter 3

- How to find nth node from the end of a Linked List in Java?
- How to remove duplicates from sorted Linked List in Java?
- How to insert a node in a sorted Singly Linked List in Java ?
- How to remove a given key from Singly Linked List in Java?
- How to solve Two Sum problem in Java ?
- How to represent Doubly Linked List in Java ?
- How to implement Doubly Linked List in Java ?

#### Chapter 4

- How to print elements of a Doubly Linked List in Java ?
- How to insert node at the beginning of a Doubly Linked List in Java ?
- How to represent a Stack in Java ?
- How to insert node at the end of a Doubly Linked List in Java ?
- How to delete first node in a Doubly Linked List in Java ?
- How to delete last node in a Doubly Linked List in Java ?
- How to implement a Stack in Java ?

#### Chapter 5

- How to represent a Circular Singly Linked List in Java ?
- How to implement a Circular Singly Linked List in Java ?
- How to traverse and print a Circular Singly Linked List in Java ?
- How to insert node at the beginning of a Circular Singly Linked List in Java ?
- How to detect a loop in a Linked List in Java ?
- How to insert node at the end of a Circular Singly Linked List in Java ?
- How to represent a Queue in Java ?

#### Chapter 6

- Part 1 – How to implement a Queue in Java ?
- Part 2 – How to implement a Queue in Java – Enqueue Operation
- Part 3 – How to implement a Queue in Java – Dequeue Operation
- How to remove first node from a Circular Singly Linked List in Java ?
- How to represent a Binary Tree in Java ?
- How to implement a Binary Tree in Java ?
- Recursive Pre-Order traversal of a Binary Tree in Java

#### Chapter 7

- Iterative Pre-Order traversal of a Binary Tree in Java
- Recursive In-Order traversal of a Binary Tree in Java
- Iterative In-Order traversal of a Binary Tree in Java
- Recursive Post-Order traversal of a Binary Tree in Java
- Binary Search in Java
- Level order traversal of a Binary Tree in Java
- Introduction to Graphs
- Data Structures and Algorithms in Java through Visualization