## Topic : Array & Array Representation (Key Note and Questions)

**Key Note:**

*An array is a collection of similar type of data (like int, float or char) which is stored in contiguous memory locations.**A one-dimensional array is a liner array which has only one row and many columns.**One-dimensional array can be defined as int arr[10]; means this array arr can store 10 integer value column wise.**Multi-dimensional array is an array of arrays.**Two-dimensional array can be considered as multidimensional array. Two-dimensional array can be declared as int arr[m][n].**Where m is number of rows and n is number of columns.**Multi-dimensional array can be declared as int arr[n][m][o].*

### Questions

- What is an array? Discuss its type.
- Explain the Single and Multidimensional Arrays with example.
- What is row-major order? Explain with example.
- What is column-major order? Explain with example.
- Derivation of index formulae for 1-D, 2-D, 3-D and n-D Array.
- Write an algorithm to multiply two matrices and determine complexity of the algorithm.
- Determine addressing formula to find the location of (i,j)th element of a m*n matrix stored in column-major order.
- Consider the linear arrays AAA[5:50],BBB[-5:10] and CCC[1:8]
- What is sparse matrices? Explain the representation of sparse matrix.
- Explain the upper triangle and lower triangular sparse matrices. Suggest a space efficient representation for sparse matrices and determine the address determination formulas for it.
- Write a note on Compaction, Overflow and Underflow in Array term.

## Topic : Linked List (Key Note and Questions)

**Key Note:**

*Linked List is a linear data structure that stores elements at non-contiguous memory locations.**Linked List is also dynamic in nature.*

### Questions

## Topic : Singly Linked List (Key Note and Questions)

**Key Note**:

*Singly Linked List is a unidirectional List where elements can be traversed in only one direction from head to tail**On Singly Linked List we can perform various operations like list traversal, searching for an element.**Also we can perform insertion operation on singly linked list like insert element at head, at tail or at particular place.**Deletion operation on singly linked list like delete at head, at tail or at given particular position.*

### Questions

- What is Singly linked list? Write its Advantage, Application and explain its node structure.
- Write the Algorithm and Program in C to Create and Traverse a Singly linked list.
- Write the Algorithm & Program in C to Insert a node at the beginning, at End and at given location of the Singly linked list.
- Write the Algorithm and Program in C to Search an element of the Singly linked list.
- Write the Algorithm and Program in C to Delete a node at the beginning, at end and at given location of the Singly linked list.
- Write the Algorithm and Program in C to Reverses the Singly linked list.

## Topic: Circular Linked List (Key Note And Questions)

**Key Note**:

*Circular Linked List is a some modified version of singly linked list.**In singly linked list last element point to null but in circular last elements point to again first element.**On Circular Linked List we can perform various operations like list traversal, searching for an element.**Also we can perform insertion operation on Circular linked list like insert element at head, at tail or at particular place.**Deletion operation on Circular linked list like delete at head, at tail or at given particular position.*

### Questions

- What is Circular linked list? Write its Advantage, Application and its node structure.
- Write the Algorithm and Program in C to Create and Traverse a Circular linked list.
- Write the Algorithm & Program in C to Insert a node at the beginning, at End and at given location of the Circular linked list.
- Write the Algorithm and Program in C to Search an element of the Circular linked list.
- Write the Algorithm and Program in C to Delete a node at the beginning, at End and at given location of the Circular linked list.

## Topic: Doubly Linked List or Two Way Linked List (Key Note And Questions)

**Key Note:**

*Doubly Linked List is a bi-directional List where elements can be traversed in both back and forth direction from head to tail and back tail to head.**On Doubly Linked List we can perform various operations like list traversal, searching for an element.**Also we can perform insertion operation on Doubly linked list like insert element at head, at tail or at particular place.**Deletion operation on singly linked list like delete at head, at tail or at given particular position.*

### Questions

- What is Doubly Linked List? Write its Advantage, Application and explain its node structure.
- Write the Algorithm and Program in C to Create and Traverse doubly linked list.
- Write the Algorithm and Program in C to Insert a node at the Beginning, at End and at Specific Location of the doubly linked list.
- Write the Algorithm and Program in C to Search an element of the Doubly linked list.
- Write the Algorithm and Program in C to Delete a node from the beginning, from end and from a given location of the doubly linked list.
- Write the Algorithm and Program in C to Reverse the doubly linked list.

## Topic: Doubly Circular Linked List (Key Note And Questions)

**Key Note:**

*Doubly Linked List is a bi-directional List as well as circular means, elements can be traversed in both back and forth direction from head to tail and back tail to head.**And Instead of pointing last element at null in doubly circular last element points to first node.**On Doubly Circular Linked List we can perform various operations like list traversal, searching for an element.**Also we can perform insertion operation on Doubly Circular Linked list like insert element at head, at tail or at particular place.**Deletion operation on Doubly Circular Linked list like delete at head, at tail or at given particular position.*

### Questions

- What is Doubly Circular Linked List? Explain its node structure.
- Write the algorithm and program in C to create Doubly Circular Linked List.
- Write the algorithm and program in C to insert a node at the Beginning of the Doubly Circular Linked List.
- Write the algorithm and program in C to insert a node at the end of the Doubly Circular Linked List.
- Write the algorithm and program in C to insert a node at the specific location of the Doubly Circular Linked List.
- Write the algorithm and program in C to traverse the Doubly Circular Linked List.
- Write the algorithm and program in C to search an element of the Doubly Circular Linked List.
- Write the algorithm and program in C to delete a node at the beginning of the Doubly Circular Linked List.
- Write the algorithm and program in C to delete a node at the specified location of the Doubly Circular Linked List.
- Write the algorithm and program in C to delete a node at the end of the Doubly Circular Linked List.
- Write the algorithm and program in C that reverses the order of all elements in the Doubly Circular Linked List.

## Topic: Polynomial Representation

- Explain the Polynomial representation.
- Explain the Addition of Single variable polynomial.
- Explain the Subtraction of Single variable polynomial.
- Explain the Multiplications of Single variable polynomial.
- Explain the Addition of Two variable polynomial.
- Explain the Subtraction of Two variable polynomial.
- Explain the Multiplications of Two variable polynomial.
- Explain the method to represent the polynomial equation using linked list. Write and explain method to add two polynomial equations using linked list.