0% found this document useful (0 votes)
2 views

2022126460-DataStructuresAlgorithmsusingCandC

java

Uploaded by

Derrese Solomon
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

2022126460-DataStructuresAlgorithmsusingCandC

java

Uploaded by

Derrese Solomon
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

Data Structures & Algorithms using C and C++

1.Essential C and C++ Concepts

 Arrays Basics
 Structures
 Pointers
 Reference in C++
 Pointer to Structure
 Functions
 Parameter Passing Methods
 Structures and Functions
 Converting a C program to a C++ class

2.Required Setup for Programming

 Online C and C++ compiler


 Setup CodeBlocks and Settings
 Setup Dev-C++ and Settings
 Debugging using Dev-C++ and CodeBlocks
 Setup and Debugging using Visual Studio

3.Introduction

 Stack vs Heap Memory


 Physical vs Logical Data Structures
 Abstract Datatypes
 Time and Space Complexity

4.Recursion

 Generalizing Recursion
 Static and Global Variables in Recursion
 Head, Tail, and Tree Recursion
 Indirect Recursion
 Nested Recursion
 Fibonacci Series using Recursion

5.Array Representation

 Array Declaration
 Static vs Dynamic Arrays
 Increasing Array Size
 2D Arrays
 Row and Column Major Formula for 2D Arrays
 Formulas for 3D & nD Arrays
6.Array ADT

 Array ADT
 Inserting in an Array
 Deleting from Array
 Linear Search
 Binary Search
 Get( ) Set( ) Avg( ) Max( ) functions on Array
 Merging and Sorting Arrays

7.Strings

 Finding Length of a String


 Validating a String
 Reversing a String

8.Matrices

 C++ class for Diagonal Matrix


 Lower Triangular Matrix Row and Column Major Mapping
 Lower Triangular Matrix in C and C++
 Triangular Matrices
 Symmetric Matrix

9.Sparse Matrix and Polynomial Representation

 Sparse Matrix Representation


 Create Sparse Matrix
 Sparse Matrix using C++
 Polynomial Representation
 Polynomial Evaluation
 Polynomial Addition
 Coding Polynomial

10.Linked List

 Dynamic Data Structure Linked List


 Display Linked List
 Recursive Display of Linked List
 Sum of All Elements in a Linked List
 Searching in a Linked List
 Deleting from Linked List
 Reversing a Linked List
 Concatenating 2 Linked Lists
 Merging 2 Linked Lists
11.Sparse Matrix and Polynomial Representation using Linked List

 Sparse Matrix using Linked List


 Polynomial Representation using Linked List

12.Stacks

 Stack using Array


 Implementation of Stack using Array
 Stack using Linked List
 Stack Operations using Linked List
 Parenthesis Matching
 Infix to Postfix Conversion
 Associativity and Unary Operators

13.Queues

 Queue ADT
 Queue using Single Pointer
 Queue using Two Pointers
 Implementing Queue using Array
 Drawback of Queue using Array
 Circular Queue
 Double Ended Queue DEQUEUE

14.Trees

 Terminology
 Number of Binary Trees using N Nodes
 Height vs Nodes in Binary Tree
 Internal Nodes vs External Nodes in Binary Tree
 Strict Binary Tree
 Height vs Node of Strict Binary Tree
 Internal vs External Nodes of Strict Binary Trees
 n-ary Trees
 Analysis of n-Ary Trees
 Full vs Complete Binary Tree

15.Binary Search Trees

 Searching in a Binary Search Trees


 Inserting in a Binary Search Tre
 Creating a Binary Search Tree
 Deleting from Binary Search Tree
 Program for Generating BST from Preorder
16.AVL Trees

 Inserting in AVL with Rotations


 General form of AVL Rotations
 Generating AVL Tree
 Deletion from AVL Tree with Rotations
 Height Analysis of AVL Trees

17.Search Trees

 2-3 Trees
 2-3-4 Trees
 Red-Black Trees
 Red-Black Trees vs 2-3-4 Trees
 Creating Red-Black Tree similar to Creating 2-3-4 Tree

18.Heap

 Inserting in a Heap
 Creating a Heap
 Deleting from Heap and Heap Sort
 Heap as Priority Queue

19.Sorting Technique

 Criteria used for Analysing Sorts


 Bubble Sort
 Insertion Sort
 Selection Sort
 Quick Sort
 Merging
 Recursive Merge Sort
 Count Sort
 Bin / Bucket Sort
 Radix Sort
 Shell Sort

20.Hashing Technique

 Chaining
 Linear Probing
 Quadratic Probing
 Double Hashing
 Hash Function Ideas
21.Graphs

 Directed and Undirected Graphs


 Breadth First Search
 Depth First Search
 Spanning Trees
 Prim's Minimum Cost Spanning Tree
 Kruskal's Minimum Cost Spanning Tree
 Disjoint Subsets

22.Asymptotic Notations

 Big Oh
 Omega
 Theta

You might also like