Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Algorithms Articles - Page 16 of 39
710 Views
Here we will discuss about the hashing with division. For this we use the hash function −ℎ(𝑥) = 𝑥 𝑚𝑜𝑑 𝑚To use this hash function we maintain an array A[0, … m – 1]. Where each element of the array is a pointer to the head of the linked list. The linked list Li is pointed to array element A[i] holds all elements x such that h(x) = i. This technique is known as hashing by chaining.In such hash table, if we want to increase an element x, this will take O(1) time. we compute the index i = h(x). ... Read More
430 Views
Here we will discuss about the Hash tables with the integer keys. Here the key values 𝑥 comes from universe 𝑈 such that 𝑈 = {0, 1, … , 𝑢 – 2, 𝑢 – 1}. A hash function is ℎ. The domain of this hash function is 𝑈. The range is in the set {0, 1, … , 𝑚 – 1}, and 𝑚 ≤ 𝑢.A hash function h is said to be a perfect hash function for a set 𝑆 ⊆ 𝑈 if for every 𝑥 ∈ 𝑆, ℎ(𝑥) is unique. A perfect hash function ℎ for 𝑆 is minimal ... Read More
3K+ Views
Here we will see how to delete elements from binary max heap data structures. Suppose the initial tree is like below −Deletion Algorithmdelete(heap, n) − Begin if heap is empty, then exit else item := heap[1] last := heap[n] n := n – 1 for i := 1, j := 2, j = heap[j], then break heap[i] := heap[j] done end if heap[i] := last EndExampleSuppose we want to delete 30 from the final heap −
7K+ Views
Here we will see how to insert and elements from binary max heap data structures. Suppose the initial tree is like below −Insertion Algorithminsert(heap, n, item) − Begin if heap is full, then exit else n := n + 1 for i := n, i > 1, set i := i / 2 in each iteration, do if item
2K+ Views
In this section we will see the Eulerian and Hamiltonian Graphs. But before diving into that, at first we have to see what are trails in graph. Suppose we have one graph like below −The trail is a path, which is a sequence of edges (v1, v2), (v2, v3), …, (vk - 1, vk) in which all vertices (v1, v2, … , vk) may not be distinct, but all edges are distinct. In this example one trail is {(B, A), (A, C), (C, D), (D, A), (A, F)} This is a trail. But this will not be considered as simple ... Read More
721 Views
The Depth first search for graphs are similar. But for Digraphs or directed graphs, we can find some few types of edges. The DFS algorithm forms a tree called DFS tree. There are four types of edges called −Tree Edge (T) − Those edges which are present in the DFS treeForward Edge (F) − Parallel to a set of tree edges. (From smaller DFS number to larger DFS number, and Larger DFS completion number to Smaller DFS completion number)Backward Edge (B) − From larger DFS number to Smaller DFS number and Smaller DFS completion number to Larger DFS completion number.Cross ... Read More
2K+ Views
We know that the graph is one non-linear data structure. In this data structure, we put some values into nodes, and the nodes are connected though different edges. As we can store data into the graph structure, we also need to search elements from the graph to use them.For searching in graphs, there are two different methods. The Breadth First Search and the Depth First searching techniques.Breadth First Search (BFS)The Breadth First Search (BFS) traversal is an algorithm, which is used to visit all of the nodes of a given graph. In this traversal algorithm one node is selected and ... Read More
20K+ Views
As we know that the graphs can be classified into different variations. They can be directed or undirected, and they can be weighted or unweighted. Here we will see how to represent weighted graph in memory. Consider the following graph −Adjacency matrix representationTo store weighted graph using adjacency matrix form, we call the matrix as cost matrix. Here each cell at position M[i, j] is holding the weight from edge i to j. If the edge is not present, then it will be infinity. For same node, it will be 0.0∞63∞30∞∞∞∞∞02∞∞110∞∞4∞20Adjacency List representationIn the adjacency list, each element in the ... Read More
7K+ Views
Here we will see how to insert and delete elements from binary heap data structures. Suppose the initial tree is like below −Insertion Algorithminsert(heap, n, item): Begin if heap is full, then exit else n := n + 1 for i := n, i > 1, set i := i / 2 in each iteration, do if item
6K+ Views
Here we will see the threaded binary tree data structure. We know that the binary tree nodes may have at most two children. But if they have only one children, or no children, the link part in the linked list representation remains null. Using threaded binary tree representation, we can reuse that empty links by making some threads.If one node has some vacant left or right child area, that will be used as thread. There are two types of threaded binary tree. The single threaded tree or fully threaded binary tree. In single threaded mode, there are another two variations. ... Read More