
Comprehensive Data Structures and Algorithms in Java
S. K. Srivastava
This audiobook is narrated by a digital voice.
DESCRIPTION
Data Structures and Algorithms is an important subject in any university curriculum for computer science stream. It provides a great tool in the hands of software engineers and plays...
Location:
United States
Networks:
S. K. Srivastava
Digital Voice Madison G
BPB Publications
English Audiobooks
INAudio Audiobooks
Description:
This audiobook is narrated by a digital voice. DESCRIPTION Data Structures and Algorithms is an important subject in any university curriculum for computer science stream. It provides a great tool in the hands of software engineers and plays significant role in software design and development. It is also becoming a must have skill for many competitions and job interviews in software industry. This book covers the topics useful for students and also for software developers working in industry. The concepts are explained in step-wise manner and illustrated with numerous figures, text, examples and immediate code samples which helps in better understanding of data structures and algorithms with their implementation. There are exercises at the end of the chapters which helps students to explore more and build better foundation of subject. The book has more than 500 illustrations, code samples and problems. Solutions for exercises are also available with programs. Students can use it for self-learning and developers can use this for providing efficient solutions for their day-to-day development problems. After completion of this book, students will have good understanding of Data Structures and Algorithms concepts and implementation. Software engineers will be able to provide better solutions with appropriate data structures and efficient algorithms. WHAT YOU WILL LEARN ● Fundaments of data structures and algorithms. ● Algorithms analysis. ● Variety of data structures and algorithms useful for software design and development. ● How to efficiently use different data structures and algorithms. ● When and where to use appropriate data structures and algorithms. ● Data structures and algorithms concepts with implementation. ● Approach to solve problems using right data structures and algorithms. Duration - 22h 58m. Author - S. K. Srivastava. Narrator - Digital Voice Madison G. Published Date - Thursday, 30 January 2025. Copyright - © 2026 BPB ©.
Language:
English
Title Page
Duration:00:00:18
Copyright Page
Duration:00:01:21
Dedication
Duration:00:00:05
About the Authors
Duration:00:01:31
Acknowledgements
Duration:00:00:46
Preface
Duration:00:08:19
Table of Contents
Duration:00:23:15
1. Introduction
Duration:00:01:12
1.1 Data Type
Duration:00:00:59
1.2 Abstract Data Types
Duration:00:04:38
1.3 Data Structures
Duration:00:04:26
1.3.1 Linear and Non-Linear Data Structures
Duration:00:00:43
1.3.2 Static and Dynamic Data Structures
Duration:00:00:42
1.4 Algorithms
Duration:00:01:47
1.4.1 Greedy Algorithm
Duration:00:00:41
1.4.2 Divide and Conquer Algorithm
Duration:00:00:24
1.4.3 Backtracking
Duration:00:00:27
1.4.4 Randomized Algorithms
Duration:00:00:28
1.5 Analysis of Algorithms
Duration:00:00:25
1.5.1 Measuring Running Time of an Algorithm
Duration:00:00:18
1.5.1.1 Experimental Method
Duration:00:02:13
1.5.1.2 Asymptotic Analysis
Duration:00:02:49
1.6 Big O Notation
Duration:00:04:11
1.6.1 Rules for O Notation
Duration:00:06:21
1.6.2 Finding Big O
Duration:00:04:55
1.7 Tight and Loose Upper Bounds
Duration:00:01:29
1.8 Finding Time Complexity
Duration:00:03:33
1.9 Big O Analysis of Algorithms: Examples
Duration:00:14:39
1.10 Worst Case, Average Case and Best Case Analysis
Duration:00:03:45
1.11 Common Complexities
Duration:00:03:39
Exercise
Duration:00:05:32
2. Arrays
Duration:00:01:21
2.1 One Dimensional Array
Duration:00:00:04
2.1.1 Declaration of 1-D Array
Duration:00:02:37
2.1.2 Accessing 1-D Array Elements
Duration:00:03:09
2.1.3 Processing 1-D Arrays
Duration:00:02:03
2.1.4 Initialization of 1-D Array
Duration:00:05:02
2.1.5 1-D Arrays and Methods
Duration:00:00:04
2.1.5.1 Passing Individual Array Elements to a Method
Duration:00:01:03
2.1.5.2 Passing Whole 1-D Array to a Method
Duration:00:02:27
2.2 Two Dimensional Arrays
Duration:00:00:04
2.2.1 Declaration and Accessing Individual Elements of a 2-D array
Duration:00:01:07
2.2.2 Processing 2-D Arrays
Duration:00:01:59
2.2.3 Initialization of 2-D Arrays
Duration:00:07:32
2.3 Arrays with More Than Two Dimensions
Duration:00:02:39
2.4 Array Operations
Duration:00:00:31
2.4.1 Traversal
Duration:00:00:53
2.4.2 Search
Duration:00:00:23
2.4.3 Insertion
Duration:00:01:06
2.4.4 Deletion
Duration:00:02:30
2.5 Problems on Arrays
Duration:00:10:47
3. Linked Lists
Duration:00:00:32
3.1 Single Linked List
Duration:00:12:40
3.1.1 Traversing a Single Linked List
Duration:00:03:18
3.1.2 Searching in a Single Linked List
Duration:00:00:42
3.1.3 Insertion in a Single Linked List
Duration:00:00:46
3.1.3.1 Insertion at the Beginning of the List
Duration:00:01:34
3.1.3.2 Insertion in an Empty List
Duration:00:00:41
3.1.3.3 Insertion at the End of the List
Duration:00:01:43
3.1.3.4 Insertion in Between the List Nodes
Duration:00:01:32
3.1.3.4.1 Insertion After a Node
Duration:00:01:50
3.1.3.4.2 Insertion Before a Node
Duration:00:02:21
3.1.3.4.3 Insertion at a Given Position
Duration:00:01:26
3.1.4 Creation of a Single Linked List
Duration:00:00:39
3.1.5 Deletion in a Single Linked List
Duration:00:00:30
3.1.5.1 Deletion of First Node
Duration:00:00:48
3.1.5.2 Deletion of the Only Node
Duration:00:00:23
3.1.5.3 Deletion in Between the List Nodes
Duration:00:00:52
3.1.5.3.1 Delete a Node Specified with Value
Duration:00:01:23
3.1.5.3.2 Deletion of a Node at a Given Position
Duration:00:01:17
3.1.5.4 Deletion at the End of the List
Duration:00:01:09
3.1.6 Copy Constructor
Duration:00:00:42
3.1.7 Reversing a Single Linked List
Duration:00:02:05
3.2 Doubly Linked List
Duration:00:04:01
3.2.1 Traversing a Doubly Linked List
Duration:00:01:00
3.2.2 Searching an Element in a Doubly Linked List
Duration:00:00:37
3.2.3 Insertion in a Doubly Linked List
Duration:00:00:22
3.2.3.1 Insertion at the Beginning of the List
Duration:00:00:56
3.2.3.2 Insertion in an Empty List
Duration:00:00:36
3.2.3.3 Insertion at the End of the List
Duration:00:01:14
3.2.3.4 Insertion in Between the Nodes
Duration:00:00:53
3.2.3.4.1 Insertion After a Node
Duration:00:02:14
3.2.3.4.2 Insertion Before a Node
Duration:00:02:27
3.2.3.4.3 Insertion at a Given Position
Duration:00:01:35
3.2.4 Creation of List
Duration:00:00:39
3.2.5 Deletion from a Doubly Linked List
Duration:00:00:24
3.2.5.1 Deletion of the First Node
Duration:00:00:45
3.2.5.2 Deletion of the Only Node
Duration:00:00:19
3.2.5.3 Deletion in Between the Nodes
Duration:00:01:00
3.2.5.3.1 Delete a Node with Specified Value
Duration:00:01:37
3.2.5.3.2 Deletion of a Node at a Given Position
Duration:00:01:36
3.2.5.4 Deletion at the End of the List
Duration:00:00:51
3.2.6 Copy Constructor
Duration:00:01:00
3.2.7 Reversing a Doubly Linked List
Duration:00:01:35
3.3 Circular Linked List
Duration:00:06:15
3.3.1 Traversal of a Circular Linked List
Duration:00:01:01
3.3.2 Insertion in a Circular Linked List
Duration:00:00:22
3.3.2.1 Insertion at the Beginning of the List
Duration:00:00:48
3.3.2.2 Insertion in an Empty List
Duration:00:00:34
3.3.2.3 Insertion at the End of the List
Duration:00:00:56
3.3.2.4 Insertion in Between the Nodes
Duration:00:00:28
3.3.2.4.1 Insertion After a Node
Duration:00:00:57
3.3.2.4.2 Insertion Before a Node
Duration:00:01:08
3.3.2.4.3 Insertion at a Given Position
Duration:00:01:33
3.3.3 Creation of Circular Linked List
Duration:00:00:29
3.3.4 Deletion in Circular Linked List
Duration:00:00:27
3.3.4.1 Deletion of the First Node
Duration:00:00:43
3.3.4.2 Deletion of the Only Node
Duration:00:00:38
3.3.4.3 Deletion in Between the Nodes
Duration:00:00:21
3.3.4.3.1 Delete a Node Specified with Value
Duration:00:01:11
3.3.4.3.2 Deletion of a Node at a Given Position
Duration:00:01:17
3.3.4.4 Deletion at the End of the List
Duration:00:00:56
3.3.5 Copy Constructor
Duration:00:01:00
3.3.6 Reversing a Circular Linked List
Duration:00:00:59
3.4 Linked List with Header Node
Duration:00:10:04
3.5 Sorted Linked List
Duration:00:05:04
3.6 Sorting a Linked List
Duration:00:00:56
3.6.1 Selection Sort by Exchanging Data
Duration:00:01:26
3.6.2 Bubble Sort by Exchanging Data
Duration:00:03:21
3.6.3 Selection Sort by Rearranging Links
Duration:00:04:47
3.6.4 Bubble Sort by Rearranging Links
Duration:00:02:07
3.7 Merging
Duration:00:06:33
3.8 Concatenation
Duration:00:02:29
3.9 Cycle Detection and Removal in Linked List
Duration:00:00:36
3.9.1 Insertion of a Cycle
Duration:00:02:00
3.9.2 Cycle Detection
Duration:00:02:27
3.9.3 Removal of Cycle
Duration:00:02:53
3.10 Polynomial Arithmetic with Linked List
Duration:00:08:04
3.10.1 Creation of Polynomial Linked List
Duration:00:00:37
3.10.2 Addition of Two Polynomials
Duration:00:03:12
3.10.3 Multiplication of Two Polynomials
Duration:00:01:53
3.11 Comparison of Array Lists and Linked lists
Duration:00:00:15
3.11.1 Advantages of Linked Lists
Duration:00:02:24
3.11.2 Disadvantages of Linked Lists
Duration:00:00:35
4. Stacks and Queues
Duration:00:00:36
4.1 Stack
Duration:00:01:32
4.1.1 Array Implementation of Stack
Duration:00:05:57
4.1.2 Linked List Implementation of Stack
Duration:00:05:17
4.2 Queue
Duration:00:01:06
4.2.1 Array Implementation of Queue
Duration:00:07:58
4.2.2 Linked List Implementation of Queue
Duration:00:08:44
4.3 Circular Queue
Duration:00:08:26
4.4 Deque
Duration:00:08:40
4.5 Priority Queue
Duration:00:07:33
4.6 Applications of Stack
Duration:00:00:24
4.6.1 Reversal of String
Duration:00:01:16
4.6.2 Checking Validity of an Expression Containing Nested Parentheses
Duration:00:04:21
4.6.3 Method Calls
Duration:00:01:55
4.6.4 Polish Notation
Duration:00:07:42
4.6.4.1 Converting Infix Expression to Postfix Expression Using Stack
Duration:00:03:26
4.6.4.2 Evaluation of Postfix Expression Using Stack
Duration:00:08:00
5. Recursion
Duration:00:01:31
5.1 Writing a Recursive Method
Duration:00:01:17
5.2 Flow of Control in Recursive Methods
Duration:00:04:12
5.3 Winding and Unwinding Phase
Duration:00:01:16
5.4 Examples of Recursion
Duration:00:00:04
5.4.1 Factorial
Duration:00:04:15
5.4.2 Summation of Numbers from 1 to n
Duration:00:01:12
5.4.3 Displaying Numbers from 1 to n
Duration:00:02:30
5.4.4 Display and Summation of Series
Duration:00:01:28
5.4.5 Sum of Digits of an Integer and Displaying an Integer as a Sequence of Characters
Duration:00:03:26
5.4.6 Base Conversion
Duration:00:01:40
5.4.7 Exponentiation of a Positive Integer
Duration:00:00:58
5.4.8 Prime Factorization
Duration:00:02:27
5.4.9 Greatest Common Divisor
Duration:00:01:43
5.4.10 Fibonacci Series
Duration:00:01:31
5.4.11 Checking Divisibility by 9 and 11
Duration:00:03:59
5.4.12 Tower of Hanoi
Duration:00:03:46
5.5 Recursive Data Structures
Duration:00:02:21
5.5.1 Strings and Recursion
Duration:00:01:55
5.5.2 Linked Lists and Recursion
Duration:00:03:28
5.6 Implementation of Recursion
Duration:00:00:47
5.7 Recursion vs. Iteration
Duration:00:02:57
5.8 Tail Recursion
Duration:00:06:50
5.9 Indirect and Direct Recursion
Duration:00:00:50
6. Trees
Duration:00:01:12
6.1 Terminology
Duration:00:04:49
6.2 Definition of Tree
Duration:00:00:27
6.3 Binary Tree
Duration:00:07:50
6.4 Strictly Binary Tree
Duration:00:01:39
6.5 Extended Binary Tree
Duration:00:04:26
6.6 Full Binary Tree
Duration:00:00:58
6.7 Complete Binary Tree
Duration:00:02:46
6.8 Representation of Binary Trees in Memory
Duration:00:00:15
6.8.1 Array Representation of Binary Trees
Duration:00:04:03
6.8.2 Linked Representation of Binary Trees
Duration:00:06:21
6.9 Traversal in Binary Tree
Duration:00:04:47
6.9.1 Non Recursive Traversals for Binary Tree
Duration:00:00:22
6.9.1.1 Preorder Traversal
Duration:00:02:57
6.9.1.2 Inorder Traversal
Duration:00:03:56
6.9.1.3 Postorder Traversal
Duration:00:05:47
6.9.2 Level Order Traversal
Duration:00:02:44
6.9.3 Creation of Binary Tree from Inorder and Preorder Traversals
Duration:00:03:14
6.9.4 Creation of Binary Tree from Inorder and Postorder Traversals
Duration:00:07:16
6.10 Height of Binary Tree
Duration:00:04:29
6.11 Expression Tree
Duration:00:09:13
6.12 Binary Search Tree
Duration:00:02:56
6.12.1 Traversal in Binary Search Tree
Duration:00:00:54
6.12.2 Searching in a Binary Search Tree
Duration:00:03:12
6.12.3 Finding Minimum and Maximum Key
Duration:00:02:40