## Data Structure for Dictionary and Spell Checker?

Which data structure can be used for efficiently building a word dictionary and Spell Checker? The answer depends upon the functionalists required in Spell Checker… Read More »

- Design a Chess Game
- Kth smallest element in a subarray
- Rearrange numbers in an array such that no two adjacent numbers are same
- Implement a Dictionary using Trie
- Trie Data Structure using smart pointer and OOP in C++
- Lazy Propagation in Segment Tree | Set 2
- Range Queries to Find number of sub-arrays with a given xor
- Given an array and two integers l and r, find the kth largest element in the range [l, r]
- Persistent Trie | Set 1 (Introduction)
- Longest string in an array which matches with prefix of the given string
- Sort an array of strings based on the frequency of good words in them
- Count of strings whose prefix match with the given string to a given length k
- Count smaller elements on right side and greater elements on left side using Binary Index Tree
- Introduction to R-tree
- Queries for number of distinct elements in a subarray | Set 2
- Queries to update a given index and find gcd in range
- Flipping Sign Problem | Lazy Propagation Segment Tree
- Gap Buffer Data Structure
- Find triplet such that number of nodes connecting these triplets is maximum
- Bottom-up traversal of a Trie
- Search in a trie Recursively
- Find the number of different numbers in the array after applying the given operation q times
- Extendible Hashing (Dynamic approach to DBMS)
- String Range Queries to find the number of subsets equal to a given String
- B-Tree Insert without aggressive splitting
- Insertion in a Trie recursively
- Strings from an array which are not prefix of any other string
- Van Emde Boas Tree | Set 1 | Basics and Construction
- Arrange array elements such that last digit of an element is equal to first digit of the next element
- B*-Trees implementation in C++

Which data structure can be used for efficiently building a word dictionary and Spell Checker? The answer depends upon the functionalists required in Spell Checker… Read More »

A suffix array is a sorted array of all suffixes of a given string. The definition is similar to Suffix Tree which is compressed trie… Read More »

We have discussed following topics on Red-Black tree in previous posts. We strongly recommend to refer following post as prerequisite of this post. Red-Black Tree… Read More »

Consider a situation where we have a set of intervals and we need following operations to be implemented efficiently. 1) Add an interval 2) Remove… Read More »

In the previous post, we discussed introduction to Red-Black Trees. In this post, insertion is discussed. In AVL tree insertion, we used rotation as a… Read More »

Red-Black Tree is a self-balancing Binary Search Tree (BST) where every node follows following rules. 1) Every node has a color either red or black.… Read More »

We strongly recommend to read following post on suffix trees as a pre-requisite for this post. Pattern Searching | Set 8 (Suffix Tree Introduction) A… Read More »

It is recommended to refer following post as prerequisite of this post. Splay Tree | Set 1 (Search) As discussed in the previous post, Splay… Read More »

The worst case time complexity of Binary Search Tree (BST) operations like search, delete, insert is O(n). The worst case occurs when the tree is… Read More »

The worst case search time for a sorted linked list is O(n). With a Balanced Binary Search Tree, we can skip almost half of the… Read More »

It is recommended to refer following posts as prerequisite of this post. B-Tree | Set 1 (Introduction) B-Tree | Set 2 (Insert) B-Tree is a… Read More »

Consider a coding system for alphabets to integers where ‘a’ is represented as 1, ‘b’ as 2, .. ‘z’ as 26. Given an array of… Read More »

Given a dictionary of words and an input string, find the longest prefix of the string which is also a word in dictionary. Examples: Let… Read More »

In the previous post, we introduced B-Tree. We also discussed search() and traverse() functions. In this post, insert() operation is discussed. A new key is… Read More »

B-Tree is a self-balancing search tree. In most of the other self-balancing search trees (like AVL and Red-Black Trees), it is assumed that everything is… Read More »