Data structure and algorithms in C and python
Banerjee, Chandan
Data structure and algorithms in C and python Chandan Banerjee, Atanu Das - Kolkata University press c2023 - 634p. P.B.
List of Algorithms and Pseudocodes
List of C Programs
List of Python Programs
Preface
About the Authors
Chapter 1: Introduction to Data Structures
1.1 Introduction
1.2 Data Types
1.3 Dynamic Memory Allocation
1.4 Classification of Data Structures
1.5 Operations on Data Structures
1.6 Algorithms and Data Structures
1.7 Choosing Appropriate Data Structures
1.8 File Organization
1.9 Data-related Other Subjects
1.10 C and Python for Program Development
1.11 Programming Paradigms in Data Structure
Quick Recap
Review Questions
Case Studies
Chapter 2: Python Digest
2.1 Introduction
2.2 Features of Python
2.3 Advantages of Python
2.4 String and Variables
2.5 User Input
2.6 Python Operators
2.7 Lists
2.8 Sets
2.9 Tuples
2.10 Dictionaries
2.11 Conditional Statements (if, else, elif)
2.12 Iteration Loops (while and for)
2.13 Loop Control Statements (break, continue, pass)
2.14 Functions
2.15 Modules
2.16 Packages
2.17 Files
2.18 Exceptions
2.19 Classes and Objects
2.20 Functional Programming in Python
2.21 Numpy Array in Python
2.22 Series and DataFrames in Pandas
Quick Recap
Review Questions
Case Studies
Lab Exercises
Chapter 3: Algorithms and Complexity Analysis
3.1 Introduction
3.2 Complexity of Algorithms
3.3 Asymptotic Notations
Quick Recap
Review Questions
Case Studies
Chapter 4: Array
4.1 Introduction
4.2 Array Operations Using Static Memory Allocation
4.3 Array Operations Using Dynamic Memory Allocation
4.4 Applications of Array Using Static Memory Allocations
4.5 Applications of Array Using Dynamic Memory Allocations
4.6 Representation of 2D Arrays in Computer Memory
Quick Recap
Review Questions
Case Studies
Lab Exercises
Chapter 5: Linked List
5.1 Introduction
5.2 Classification of Linked Lists
5.3 Operations on Singly Linked List
5.4 Operations on Circular Linked List
5.5 Operations on Doubly Linked List
5.6 Traversing in Linked List
5.7 Memory Allocation and Garbage Collection
5.8 Sparse Matrix Representation Using Array and Linked List
5.9 Polynomials Representation Using Linked List
Quick Recap
Review Questions
Case Studies
Lab Exercises
Chapter 6: Stack
6.1 Introduction
6.2 Design and Implementation of Stack
6.3 Applications of Stack
Quick Recap
Review Questions
Case Studies
Lab Exercises
Chapter 7: Queue
7.1 Introduction
7.2 Design and Implementation of Queue
7.3 Double-ended Queue or Deque
7.4 Priority Queue
7.5 Implement Queue Using Two Stacks with the Help of Arrays
Quick Recap
Review Questions
Case Studies
Lab Exercises
Chapter 8: Recursion
8.1 Introduction
8.2 GCD of Two Numbers Using Recursion
8.3 Factorial of a Number Using Recursion
8.4 Fibonacci Series Using Recursion
8.5 Ackermann Function Using Recursion
8.6 Pascal’s Triangle Representation Using Recursion
8.7 Solving the Tower of Hanoi Problem Using Recursion
8.8 Sorting a Stack Using Recursion
8.9 N-Queens Problem Using Recursion
8.10 Dynamic Programming and Memoization
8.11 Some Solved Examples of Recursion
Quick Recap
Review Questions
Case Studies
Lab Exercises
Chapter 9: Trees
9.1 Introduction
9.2 Characteristics of Binary Trees
9.3 Binary Tree Traversal Algorithms
9.4 Construction of a Binary Tree Using Tree Traversal
9.5 Threaded Binary Tree
9.6 Binary Search Tree (BST)
9.7 AVL Tree or Height-balanced Tree
9.8 B Tree (Balanced Tree)
Quick Recap
Review Questions
Case Studies
Lab Exercises
Chapter 10: Graphs
10.1 Introduction
10.2 Representation of Graph
10.3 Applications of Graph
10.4 Traversing a Graph
10.5 Spanning Tree
10.6 Dijkstra’s Algorithm for Shortest-path Evaluation
10.7 Grid Path Problem
10.8 Longest Common Subsequence (LCS)
Quick Recap
Review Questions
Case Studies
Lab Exercises
Chapter 11: Sorting
11.1 Introduction
11.2 Bubble Sort
11.3 Insertion Sort
11.4 Selection Sort
11.5 Quick Sort
11.6 Merge Sort
11.7 Heap Sort
11.8 Radix Sort
11.9 Comparison of Time Complexity of Sorting Methods
Quick Recap
Review Questions
Case Studies
Lab Exercises
Chapter 12: Searching
12.1 Introduction
12.2 Linear Search
12.3 Binary Search
12.4 Interpolation Search
Quick Recap
Review Questions
Case Studies
Lab Exercises
Chapter 13: Hashing
13.1 Introduction
13.2 Popular Hashing Methods
13.3 Collision Resolution Techniques
13.4 Implementations of Collision Resolution Techniques
13.5 Analysis of Hashing Techniques and Load Factor
13.6 Rehashing Technique
Quick Recap
Review Questions
Case Studies
Lab Exercises
Chapter 14: File Organization
14.1 Introduction
14.2 Classification of File Organizations
14.3 File Operations
14.4 Importance of File Organization
14.5 File Read–Write–Append Operations with C and Python
14.6 File Organization and Operating System
Quick Recap
Review Questions
Case Studies
Lab Exercises
Index
9788195400904 795.00
Data structure
programming language
R 005.73133 BAN(DAT)
Data structure and algorithms in C and python Chandan Banerjee, Atanu Das - Kolkata University press c2023 - 634p. P.B.
List of Algorithms and Pseudocodes
List of C Programs
List of Python Programs
Preface
About the Authors
Chapter 1: Introduction to Data Structures
1.1 Introduction
1.2 Data Types
1.3 Dynamic Memory Allocation
1.4 Classification of Data Structures
1.5 Operations on Data Structures
1.6 Algorithms and Data Structures
1.7 Choosing Appropriate Data Structures
1.8 File Organization
1.9 Data-related Other Subjects
1.10 C and Python for Program Development
1.11 Programming Paradigms in Data Structure
Quick Recap
Review Questions
Case Studies
Chapter 2: Python Digest
2.1 Introduction
2.2 Features of Python
2.3 Advantages of Python
2.4 String and Variables
2.5 User Input
2.6 Python Operators
2.7 Lists
2.8 Sets
2.9 Tuples
2.10 Dictionaries
2.11 Conditional Statements (if, else, elif)
2.12 Iteration Loops (while and for)
2.13 Loop Control Statements (break, continue, pass)
2.14 Functions
2.15 Modules
2.16 Packages
2.17 Files
2.18 Exceptions
2.19 Classes and Objects
2.20 Functional Programming in Python
2.21 Numpy Array in Python
2.22 Series and DataFrames in Pandas
Quick Recap
Review Questions
Case Studies
Lab Exercises
Chapter 3: Algorithms and Complexity Analysis
3.1 Introduction
3.2 Complexity of Algorithms
3.3 Asymptotic Notations
Quick Recap
Review Questions
Case Studies
Chapter 4: Array
4.1 Introduction
4.2 Array Operations Using Static Memory Allocation
4.3 Array Operations Using Dynamic Memory Allocation
4.4 Applications of Array Using Static Memory Allocations
4.5 Applications of Array Using Dynamic Memory Allocations
4.6 Representation of 2D Arrays in Computer Memory
Quick Recap
Review Questions
Case Studies
Lab Exercises
Chapter 5: Linked List
5.1 Introduction
5.2 Classification of Linked Lists
5.3 Operations on Singly Linked List
5.4 Operations on Circular Linked List
5.5 Operations on Doubly Linked List
5.6 Traversing in Linked List
5.7 Memory Allocation and Garbage Collection
5.8 Sparse Matrix Representation Using Array and Linked List
5.9 Polynomials Representation Using Linked List
Quick Recap
Review Questions
Case Studies
Lab Exercises
Chapter 6: Stack
6.1 Introduction
6.2 Design and Implementation of Stack
6.3 Applications of Stack
Quick Recap
Review Questions
Case Studies
Lab Exercises
Chapter 7: Queue
7.1 Introduction
7.2 Design and Implementation of Queue
7.3 Double-ended Queue or Deque
7.4 Priority Queue
7.5 Implement Queue Using Two Stacks with the Help of Arrays
Quick Recap
Review Questions
Case Studies
Lab Exercises
Chapter 8: Recursion
8.1 Introduction
8.2 GCD of Two Numbers Using Recursion
8.3 Factorial of a Number Using Recursion
8.4 Fibonacci Series Using Recursion
8.5 Ackermann Function Using Recursion
8.6 Pascal’s Triangle Representation Using Recursion
8.7 Solving the Tower of Hanoi Problem Using Recursion
8.8 Sorting a Stack Using Recursion
8.9 N-Queens Problem Using Recursion
8.10 Dynamic Programming and Memoization
8.11 Some Solved Examples of Recursion
Quick Recap
Review Questions
Case Studies
Lab Exercises
Chapter 9: Trees
9.1 Introduction
9.2 Characteristics of Binary Trees
9.3 Binary Tree Traversal Algorithms
9.4 Construction of a Binary Tree Using Tree Traversal
9.5 Threaded Binary Tree
9.6 Binary Search Tree (BST)
9.7 AVL Tree or Height-balanced Tree
9.8 B Tree (Balanced Tree)
Quick Recap
Review Questions
Case Studies
Lab Exercises
Chapter 10: Graphs
10.1 Introduction
10.2 Representation of Graph
10.3 Applications of Graph
10.4 Traversing a Graph
10.5 Spanning Tree
10.6 Dijkstra’s Algorithm for Shortest-path Evaluation
10.7 Grid Path Problem
10.8 Longest Common Subsequence (LCS)
Quick Recap
Review Questions
Case Studies
Lab Exercises
Chapter 11: Sorting
11.1 Introduction
11.2 Bubble Sort
11.3 Insertion Sort
11.4 Selection Sort
11.5 Quick Sort
11.6 Merge Sort
11.7 Heap Sort
11.8 Radix Sort
11.9 Comparison of Time Complexity of Sorting Methods
Quick Recap
Review Questions
Case Studies
Lab Exercises
Chapter 12: Searching
12.1 Introduction
12.2 Linear Search
12.3 Binary Search
12.4 Interpolation Search
Quick Recap
Review Questions
Case Studies
Lab Exercises
Chapter 13: Hashing
13.1 Introduction
13.2 Popular Hashing Methods
13.3 Collision Resolution Techniques
13.4 Implementations of Collision Resolution Techniques
13.5 Analysis of Hashing Techniques and Load Factor
13.6 Rehashing Technique
Quick Recap
Review Questions
Case Studies
Lab Exercises
Chapter 14: File Organization
14.1 Introduction
14.2 Classification of File Organizations
14.3 File Operations
14.4 Importance of File Organization
14.5 File Read–Write–Append Operations with C and Python
14.6 File Organization and Operating System
Quick Recap
Review Questions
Case Studies
Lab Exercises
Index
9788195400904 795.00
Data structure
programming language
R 005.73133 BAN(DAT)
