Segment Tree for Sum of a Given Range

Divya Sahni
Updated on 03-Nov-2023 15:10:40

943 Views

Segment Tree A segment tree is a tree data structure used for storing intervals and segments. It is a static structure, i.e. it cannot be modified once it is built. Segment trees are used to handle range queries on an array or a similar linear data structure. In a segment tree, we divide an input array into segments and precompute the values for these segments. Each node in a segment tree depicts an interval or segment of the array. The root node represents the entire array and each child node represents the segments formed by dividing the parent node. This division leads ... Read More

Segment Tree Range Minimum Query

Divya Sahni
Updated on 03-Nov-2023 15:06:10

1K+ Views

Segment Tree − A segment tree is a tree data structure used for storing intervals and segments. It is a static structure, i.e. it cannot be modified once it is built. Segment trees are used to handle range queries on an array or a similar linear data structure. In a segment tree, we divide an input array into segments and precompute the values for these segments. Each node in a segment tree depicts an interval or segment of the array. The root node represents the entire array and each child node represents the segments formed by dividing the parent node. This ... Read More

Print Unique Rows in a Given Binary Matrix

Divya Sahni
Updated on 03-Nov-2023 15:01:03

708 Views

In computer science, binary matrix holds a very strong position containing a lot of information as the data is depicted using 0’s and 1’s which is the language of computers. In binary matrix, unique row refers to a row that is not identical to any other row in the matrix. Each unique row contains unique information that is not present anywhere else in the matrix except the row itself. Discovering these unique rows give information about relationships between rows, patterns in the matrix and identification of critical elements. Problem Statement Given a binary matrix mat[] containing 0’s and 1’s. The ... Read More

Pattern Searching Using Suffix Tree

Divya Sahni
Updated on 03-Nov-2023 14:57:58

981 Views

Trie − A trie is a tree-based data structure used to store and retrieve a dynamic set of strings. Compressed Trie − A compressed trie is a variation of the trie data structure used for storing and searching dynamic sets of strings. Memory usage is minimised by sharing common prefixes. In a compressed trie, nodes with only one child are merged with their parent nodes compressing the common prefixes into a single edge. Suffix Tree − A suffix tree is a data structure used in string processing to store and search for all suffixes of a given string. It represents all possible suffixes ... Read More

Print All Anagrams Together from a Sequence of Words

Divya Sahni
Updated on 03-Nov-2023 14:52:20

1K+ Views

Anagrams − An anagram is a word or a phrase formed by rearranging the alphabets of another word or phrase, usually once. Some examples of anagrams are given below − Top - Pot Silent - Listen Post - Stop Dog - God Problem Statement Given an array of words arr[]. For the given array print all the anagrams together. Sample Example 1 Input arr[] = {“star”, “god”, “vile”, “save”, “evil”, “care”, “arts”, “race”, “dog”, “vase”} Output arts star care race dog god evil vile save vase ... Read More

Find Interval with Maximum Concurrent Meetings

Divya Sahni
Updated on 03-Nov-2023 14:49:01

428 Views

Given a scenario of a company where meetings are held during fixed time slots. These slots might be overlapping or distant. Thus, optimizing meeting efficiency is important in order to accommodate maximum meetings without any conflicts between schedules. In the problem given, we’ll be going through such an optimizing meeting efficiency problem. Problem Statement Given a two-dimensional array time[][] containing the start time and end time of all the meetings that are scheduled for that day. The task is to find the time interval when most of the meetings are occurring. Sample Example 1 Input: time[][] = {{1, 5}, {2, 6}, {3, 7}, {4, ... Read More

Design an Efficient Data Structure for Given Operations

Divya Sahni
Updated on 03-Nov-2023 14:45:34

339 Views

In order to design efficient data structures for specific operations, the time and space complexity of the given operations for the data structure created is important. Looking into some basic operations and how they can be efficiently optimized − insert() − Inserts an element to the data structure Dynamic Arrays, Hash Tables, Binary Search Trees and Balanced Search Trees like AVL Trees or Red-Black Trees are the most efficient choice of data structures providing O(1) complexity for insertions operation. delete() − Deletes an element from the data structure Hash tables approach the deletion process in O(1) time while Binary Search Trees and Balanced Search ... Read More

Maximum Level Sum in N-ary Tree

Divya Sahni
Updated on 03-Nov-2023 14:39:39

476 Views

The N-ary tree is a tree data structure where each node can have a maximum of N children where N is a positive integer (N >= 0). N-ary trees are used in many applications like file systems, organizational charts and syntax trees in programming languages. Example of N-ary tree with N = 4. A / / \ \ B C D E / | \ ... Read More

Difference Between Symmetric Key and Asymmetric Key Cryptography

Ginni
Updated on 03-Nov-2023 14:31:30

31K+ Views

Symmetric Key Cryptography In symmetric key cryptography, an individual key is used for both encryption and decryption. The sender needs the key to encrypt the plaintext and sends the cipher document to the receiver. The receiver used the similar key (or ruleset) to decrypt the message and recover the plaintext. Because an individual key is used for both functions, symmetric key cryptography is also known as symmetric encryption. Symmetric key cryptography schemes are usually categorized such as stream ciphers or block ciphers. Stream ciphers works on a single bit (byte or computer word) at a time and execute some form ... Read More

Best Reveal.js Alternatives for Presentations

Shirjeel Yunus
Updated on 03-Nov-2023 14:29:50

324 Views

What is Reveal.js? Reveal.js is an open-source HTML framework which helps users to create different types of presentations for free. Open web technologies are used to develop presentations on the Reveal.js framework. You can use CSS to change the style of your presentation. You can also use JavaScript API to enhance your presentation. You can run the program on any of the web browsers. Price Plans of Reveal.js Reveal.js is a free tool and you can use all its features without paying any money. Why Reveal.js Alternatives? Customization options are limited The dashboard of the app needs improvement Working ... Read More

Advertisements