Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
Algorithms Articles
Page 38 of 39
Comparison of Search Trees in Data Structure
Here we will see some search trees and their differences. There are many different search trees. They are different in nature. The basic search tree is Binary Search Tree (BST). Some other search trees are AVL tree, B tree, Red-Black tree, splay tree etc.These trees can be compares based on their operations. We will see the time complexity of these treesSearch TreeAverage CaseInsertDeleteSearchBinary Search TreeO(log n)O(log n)O(log n)AVL treeO(log2 n)O(log2 n)O(log2 n)B TreeO(log n)O(log n)O(log n)Red-Black TreeO(log n)O(log n)O(log n)Splay TreeO(log2 n)O(log2 n)O(log2 n)Search TreeWorst CaseInsertDeleteSearchBinary Search TreeO(n)O(n)O(n)AVL treeO(log2 n)O(log2 n)O(log2 n)B TreeO(log n)O(log n)O(log n)Red-Black TreeO(log n)O(log n)O(log n)Splay ...
Read MoreAdjacency lists in Data Structures
The graph is a non-linear data structures. This represents data using nodes, and their relations using edges. A graph G has two sections. The vertices, and edges. Vertices are represented using set V, and Edges are represented as set E. So the graph notation is G(V, E). Let us see one example to get the idea.In this graph, there are five vertices and five edges. The edges are directed. As an example, if we choose the edge connecting vertices B and D, the source vertex is B and destination is D. So we can move B to D but not ...
Read MoreOptimal Binary Search Trees in Data Structures
A set of integers are given in the sorted order and another array freq to frequency count. Our task is to create a binary search tree with those data to find minimum cost for all searches.An auxiliary array cost[n, n] is created to solve and store the solution of sub problems. Cost matrix will hold the data to solve the problem in bottom up manner.Input − The key values as node and the frequency.Keys = {10, 12, 20} Frequency = {34, 8, 50}Output − The minimum cost is 142.These are possible BST from the given values.For case 1, the cost ...
Read MoreApplications of DFS and BFS in Data Structures
Here we will see what are the different applications of DFS and BFS algorithms of a graph?The DFS or Depth First Search is used in different places. Some common uses are −If we perform DFS on unweighted graph, then it will create minimum spanning tree for all pair shortest path treeWe can detect cycles in a graph using DFS. If we get one back-edge during BFS, then there must be one cycle.Using DFS we can find path between two given vertices u and v.We can perform topological sorting is used to scheduling jobs from given dependencies among jobs. Topological sorting ...
Read MoreBinary Trees and Properties in Data Structures
In this section we will see some important properties of one binary tree data structure. Suppose we have a binary tree like this.Some properties are −The maximum number of nodes at level ‘l’ will be $2^{l-1}$ . Here level is the number of nodes on path from root to the node, including the root itself. We are considering the level of root is 1.Maximum number of nodes present in binary tree of height h is $2^{h}-1$ . Here height is the max number of nodes on root to leaf path. Here we are considering height of a tree with one ...
Read MoreBinary Tree Representation in Data Structures
Here we will see how to represent a binary tree in computers memory. There are two different methods for representing. These are using array and using linked list.Suppose we have one tree like this −The array representation stores the tree data by scanning elements using level order fashion. So it stores nodes level by level. If some element is missing, it left blank spaces for it. The representation of the above tree is like below −12345678910111213141510516-81520-------23The index 1 is holding the root, it has two children 5 and 16, they are placed at location 2 and 3. Some children are ...
Read MoreStep Count Method in Algorithm
The step count method is one of the method to analyze the algorithm. In this method, we count number of times one instruction is executing. From that we will try to find the complexity of the algorithm.Suppose we have one algorithm to perform sequential search. Suppose each instruction will take c1, c2, …. amount of time to execute, then we will try to find out the time complexity of this algorithmAlgorithmNumber of timesCostseqSearch(arr, n, key)i := 0while i < n, do if arr[i] = key, then break end ifdonereturn i1n+1n0/11c1c2c3c4c5Now if we add the cost by multiplying the ...
Read MoreHuffman Coding
Huffman coding is lossless data compression algorithm. In this algorithm a variable-length code is assigned to input different characters. The code length is related with how frequently characters are used. Most frequent characters have smallest codes, and longer codes for least frequent characters.There are mainly two parts. First one to create Huffman tree, and another one to traverse the tree to find codes.For an example, consider some strings “YYYZXXYYX”, the frequency of character Y is larger than X and the character Z has least frequency. So the length of code for Y is smaller than X, and code for X ...
Read MoreAmortized Complexity
Amortize AnalysisThis analysis is used when the occasional operation is very slow, but most of the operations which are executing very frequently are faster. In Data structures we need amortized analysis for Hash Tables, Disjoint Sets etc.In the Hash-table, the most of the time the searching time complexity is O(1), but sometimes it executes O(n) operations. When we want to search or insert an element in a hash table for most of the cases it is constant time taking the task, but when a collision occurs, it needs O(n) times operations for collision resolution.Aggregate MethodThe aggregate method is used to ...
Read MoreAsymptotic Notation - O(), o(), Ω(), ω(), and θ()
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