- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Physics
Chemistry
Biology
Mathematics
English
Economics
Psychology
Social Studies
Fashion Studies
Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Found 1862 Articles for Data Structure
![Arnab Chakraborty](https://www.tutorialspoint.com/assets/profiles/123881/profile/60_2940367-1661162113.png)
4K+ Views
Asymptotic NotationsAsymptotic notations are used to represent the complexities of algorithms for asymptotic analysis. These notations are mathematical tools to represent the complexities. There are three notations that are commonly used.Big Oh NotationBig-Oh (O) notation gives an upper bound for a function f(n) to within a constant factor.We write f(n) = O(g(n)), If there are positive constants n0 and c such that, to the right of n0 the f(n) always lies on or below c*g(n).O(g(n)) = { f(n) : There exist positive constant c and n0 such that 0 ≤ f(n) ≤ c g(n), for all n ≤ n0}Read More
![Arnab Chakraborty](https://www.tutorialspoint.com/assets/profiles/123881/profile/60_2940367-1661162113.png)
7K+ Views
Asymptotic NotationsAsymptotic notations are used to represent the complexities of algorithms for asymptotic analysis. These notations are mathematical tools to represent the complexities. There are three notations that are commonly used.Big Oh NotationBig-Oh (O) notation gives an upper bound for a function f(n) to within a constant factor.Little o NotationsThere are some other notations present except the Big-Oh, Big-Omega and Big-Theta notations. The little o notation is one of them.Little o notation is used to describe an upper bound that cannot be tight. In other words, loose upper bound of f(n).Big Omega NotationBig-Omega (Ω) notation gives a lower bound for ... Read More
![Arnab Chakraborty](https://www.tutorialspoint.com/assets/profiles/123881/profile/60_2940367-1661162113.png)
4K+ Views
Asymptotic AnalysisUsing asymptotic analysis, we can get an idea about the performance of the algorithm based on the input size. We should not calculate the exact running time, but we should find the relation between the running time and the input size. We should follow the running time when the size of input is increased.For the space complexity, our goal is to get the relation or function that how much space in the main memory is occupied to complete the algorithm.Asymptotic BehaviorFor a function f(n) the asymptotic behavior is the growth of f(n) as n gets large. Small input values ... Read More
![karthikeya Boyini](https://www.tutorialspoint.com/assets/profiles/13518/profile/60_31598-1537784993.jpg)
345 Views
In this section we will see some common mathematical problems and their possible way solve using different computational algorithms. We will see how to solve differential equations, integrations and some other complex mathematical problems. In this Section We are going to cover − Convert Infix to Postfix Expression Convert Infix to Prefix Expression Evaluate Postfix Expression Secant method to solve non-linear equation Trapezoidal Rule for definite integral Simpson's 1/3 Rule for definite integral Linear Regression Lagrange Interpolation Runge-Kutta 4th order rule for differential equation Lucky Numbers Decimal to Binary conversion Find LCM of two numbers Find ... Read More
![karthikeya Boyini](https://www.tutorialspoint.com/assets/profiles/13518/profile/60_31598-1537784993.jpg)
2K+ Views
In theoretical analysis of algorithms, it is common to estimate their complexity in the asymptotic sense, i.e., to estimate the complexity function for arbitrarily large input. The term "analysis of algorithms" was coined by Donald Knuth. Algorithm analysis is an important part of computational complexity theory, which provides theoretical estimation for the required resources of an algorithm to solve a specific computational problem. Most algorithms are designed to work with inputs of arbitrary length. Analysis of algorithms is the determination of the amount of time and space resources required to execute it. Usually, the efficiency or running time of an ... Read More
![Samual Sam](https://www.tutorialspoint.com/assets/profiles/13514/profile/60_83486-1512649303.jpg)
541 Views
The graph is a non-linear data-structure, which consists finite number of nodes and a set of edges which are used to connect a pair of nodes. The graphs are used to solve some real-time problems to represent network etc. In different social networks, the graphs are used. In this Section We are going to cover − Bi-Connected Graph Checking Breadth First Search (BFS) for a Graph Bridges in a Graph Check if a given graph is tree or not Connectivity in a directed graph Depth First Search (DFS) for a Graph Detect Cycle in a an Undirected Graph Detect ... Read More
![Samual Sam](https://www.tutorialspoint.com/assets/profiles/13514/profile/60_83486-1512649303.jpg)
8K+ Views
The searching algorithms are used to search or find one or more than one element from a dataset. These type of algorithms are used to find elements from a specific data structures. Searching may be sequential or not. If the data in the dataset are random, then we need to use sequential searching. Otherwise we can use other different techniques to reduce the complexity. In this Section We are going to cover − Binary Search Exponential Search Interpolation Search Jump Search Linear Search Ternary Search
![Samual Sam](https://www.tutorialspoint.com/assets/profiles/13514/profile/60_83486-1512649303.jpg)
3K+ Views
Pattern Searching algorithms are used to find a pattern or substring from another bigger string. There are different algorithms. The main goal to design these type of algorithms to reduce the time complexity. The traditional approach may take lots of time to complete the pattern searching task for a longer text. Here we will see different algorithms to get a better performance of pattern matching. In this Section We are going to cover. Aho-Corasick Algorithm Anagram Pattern Search Bad Character Heuristic Boyer Moore Algorithm Efficient Construction of Finite Automata kasai’s Algorithm Knuth-Morris-Pratt Algorithm Manacher’s Algorithm Naive Pattern Searching Rabin-Karp ... Read More
![Samual Sam](https://www.tutorialspoint.com/assets/profiles/13514/profile/60_83486-1512649303.jpg)
411 Views
We have seen different problems in different sections. There are some other problems which are not categorized. In this section we will see some of the random problems. In this Section We are going to cover. Adding base n numbers Babylonian method to find the square root Factorial of a large number Check if a given point lies inside a Polygon Check Perfect Square or Not Check if given four points form a Square Check if two given sets are disjoint? Check if two line segments intersect Check whether a given point lies inside a Triangle Connect n ropes ... Read More
![karthikeya Boyini](https://www.tutorialspoint.com/assets/profiles/13518/profile/60_31598-1537784993.jpg)
1K+ Views
The Backtracking is an algorithmic-technique to solve a problem by an incremental way. It uses recursive approach to solve the problems. We can say that the backtracking is used to find all possible combination to solve an optimization problem. In this Section We are going to cover Hamiltonian Cycle M-Coloring Problem N Queen Problem Rat in Maze Problem Cryptarithmetic Puzzle Subset Sum Problem Sudoku Solving Algorithm Knight-Tour Problem Tug-Of-War Problem Word Break Algorithm Maximum number by swapping problem