All the practice programs will be here
This is a self learning....
Also here I've written only codes for those I don't know.
Every Topic in this :
i. Head Recursion
ii. Tail Recursion
iii. Tree Recursion
iv. Indirect Recursion
v. Nested Recursion
Programs :
Sum of first 'n' Natural numbers
Factorial of a number
Power or Exponent
Taylor Series
Taylor Series using Horner's rule
Fibonacci Series - Recursive, Iterative and Memoization
Combination Formula
Tower Of Hanoi
i. Increase size of array
ii. 2D Array
Operations :
i. Display()
ii. Add(x)/Append(x)
iii. Insert(index,x)
iv. Delete(index)
v. Search(x)
Linear Search(including Transposition and Move to Front/Head)
Binary Search
vi. Get(index)
vii. Set(index,x)
viii. Max()
ix. Min()
x. Sum()
xi. Avg()
xii. Reverse() (in 2 ways)
xiii. Inserting in a Sorted Array
xiv. isSorted()
xv. Rearrangement() (brings -ve elements to left side and +ve to right)
xvi. Merge two arrays
xvii. Set Operations
a. Union
b. Intersection
c. Difference
Finally, Menu Driven Array ADT in java (My Preferred Language)
*Student Challenge :*
Finding Single Missing Element
Finding Multiple Missing Element
Finding Missing Elements
Finding Duplicates in Sorted Array
Finding Duplicates in Unsorted Array
Finding a Pair with sum 'k'
Finding a Pair with sum 'k' in sorted array
Finding Max and Min in Single Scan
Length of string
Changing Case
Counting of vowels and consonants
Duplicates in string
Reverse
Validation
Comparing and checking if palindrome
Anagram checking
i. Diagonal Matrices
ii. Lower Triangular Matrices
iii. Upper Triangular Matrices
iv. Symmetric Matrices
v. Tridiagonal Matrices
vi. Square band Matrix
vii. Topelitz Matrix
i. Creation of Sparse Matrix (Coordinate List / 3 - column Representation)
ii. Addition of Sparse Matrices
i. Polynomial Representation
ii. Addition of polynomials
i. Displaying Linked List recusrive also...
ii. Counting Nodes in LL
iii. Sum of all elements in LL
iv. Maximum elements in LL
v. Searching in LL (Linear Search, Also using Transposition)
vi. Inserting in LL
vii. Deleting from LL
viii. Check if LL is sorted
ix. Remove duplicates
x. Reversing a LL
xi. Concatenating LL
xii. Merge LL
xiii. Check for loop in LL
xiv. Circular LL
xv. Doubly LL
xvi. Circular Doubly LL
i. Creating Sparse Matrix
ii. Displaying
iii. Adding Sparse Matrices
i. Creating Polynomial
ii. Displaying Polynomial
iii. Adding Polynomials
i. Stack Using Array
ii. Stack Using Linked List
iii. Paranthesis Matching Using Stack
iv. Infix to Postfix Conversion
v. Evaluation of Postfix Expression
i. Queue Using Array
ii. Circular Queue
iii. Queue Using Linked List
iv. Queue Using 2 Stacks
i. Creating Binary Tree (Using Queue)
ii. Preorder, Inorder, Postorder, Levelorder Traversal
iii. Height of tree
iv. Iterative Preorder, Inorder, Postorder Traversal
v. Counting Number of nodes in Binary Tree
i. Inserting in BST (Iterative & Recursive)
ii. Deleting in BST
iii. Searching in BST
iv. Generating BST from Preorder Traversal
i. Inserting in AVL Trees with all 4 types of Rotations
i. 2-3 Trees
ii. 2-3-4 Trees
iii. Red-Black Trees
i. Bubble Sort
ii. Insertion Sort
iii. Selection Sort
iv. Quick Sort
v. Merge Sort (Iterative & Recursive)
vi. Count Sort
vii. Bin/Bucket Sort
viii. Radix Sort
ix. Shell Sort