📚Data Structures
Before dive into this repo you should know why do we need these concepts. What is Role of DSA in your real life??
“ For solving any real-world problem with a programming approach we need to follow some steps & strategy. The collection of that steps is Algorithm, whereas a data structure is a way to store and organize data during solving that problem or constructing any software so that it can be used efficiently in terms of time and space, this way Data structure & Algorithms always allow us to write efficient and optimized computer programs.”
-
Reference for this repo is taken from ABDUL SIR course
-
STL is standard template library, It is most powerful & useful while doing competitive coding questions Read More.
-
Problems on Data structure & Algorithms (Competitive coding) Click Here to get into problems section.
-
- 01 Head Recursion
- 02 Tail Recursion
- 03 Global variable recursion
- 04 Static variable reciursion
- 05 Tree recursion
- 06 Nested recursion
- 07 Sum of n number using recursion
- 08 Sum Of given number using loop
- 09 Power using recursion
- 10 Taylor Series using Static variables
- 11 Taylor Series honers rule
- 12 Taylor Series Iterative
- 13 Indirect Recursion
- 14 Fibbonaci series using loop and recursion
- 15 Fibbonacci using Memoization
- 16 nCr formula
- 17 Tower of Hanoi
-
- 01 Static and dynamic array
- 02 Increasing size of array in heap
- 03 Creating 2D array & Accessing
- 04 Array ADT1
- 05 inserting an element
- 06 Deleting element
- 07 Linear search
- 08 Improving Linear search
- 09 Binary Search Using Recursion
- 10 Binary Search using loop
- 11 Get Set max min sum avg
- 12 Rotate and Shift
- 13 IsSorted
- 14 Mergeing 2 Array
- 15 InsertSort
- 16 Set Operation (Union,Intersec,diff)
- 17 Insertion and Deletion
- 18 Menu Based problem
- 19 Single Missing Element in Sorted Array
- 20 Single Missing Value in a sorted array M2
- 21 Multiple Missing Elements in Sorted Array
- 22 Missing elements in Unsorted Array (HASH TABLE)
- 23 Finding Duplicate in Soorted Array
- 24 Counting Duplicate Elements In Sorted M2
- 25 Counting Duplicate elements using hash table (SA)
- 26 Counting Duplicate elements using hash table (USA)
- 27 Finding Duplicate in Unsoorted Array
- 28 Find a pair with sum k
- 29 Find a pair with sum k in unsorted
- 30 Find a pair with sum k using Hashing
- 31 Finding max & min in single scan
-
- 01 Display LL
- 02 Display LL Using Recursion
- 03 Count and sum of LL
- 04 Printing max element
- 05 Searching Element
- 06 Searching Elements using Recursion & Move to 1st
- 07 Insertion in linkedlist
- 08 Insert in sorted
- 09 All in one 1 to 8
- 10 project sll
- 11 Delete from ll.
- 12 Remove duplicate
- 13 Reversing Using Array
- 14 Reversing by Sliding Links
- 15 Reversing using Recursion
- 16 Concatenate linkedlist
- 17 Merge LL
- 18 Liner Singly Linked List in Single Project
- 19 Display Circular LL using Loop & Recursion
- 20 Insert in Circular LL
- 21 Delete from cll from pos
- 22 Delete an element in CLL from pos
- 23 Create,Display,count DLL
- 24 Insert at any pos in dll
- 25 Delete from any pos from DLL
- 26 Reverse DLL
- 27 Middle of Linkedlist
- 28 Polynomial of Linkedlist
📚Algorithms
In software development we have two phases:-
-
Design
-
Implementation
-
For designing any kind of software we should have a blueprint for that, i.e we can not develop any software on hit and trial basis.
-
Algorithm:- Algorithm is step by step procedure do solve any kind of computational problem & It is the core of computer science.
-
There is certain point about algorithm:-
-
Algorithm is written at design time.
-
For writing any effective one should have Proper domain Knowledge.
-
Algorithm is language independent.
-
And it is independent of Hardware & OS.
-
We are doing priori analysis when writing algorithms.
-
Mainly we are considering Time & Space function. Rather than that we are checking for Network Consumption/Data Transfer, Power consumption and Consumption of CPU Register.
-
characteristics of Algorithm :-
-
- Input
-
- Output
-
- Definiteness(Every Statement should be clear and understandable)
-
- Finiteness(Algorithm must terminate at some time)
-
- Effectiveness(Don’t write unnecessary steps)
-
- Independent(It can be implemented in any programming language).