# Algorithms And Data Structures Interview Questions C++

### 1 What is Treap?

Treap is a Balanced Binary Search Tree, but not guaranteed to have height as O(Log n). The idea is to use Randomization and Binary Heap property to maintain balance with high probability. The expected time complexity of search, insert and delete is O(Log n). Each node of Treap maintains two values.

• Key follows standard BST ordering (left is smaller and right is greater)
• Priority Randomly assigned value that follows Max-Heap property.
• ### 24) What is the advantage of the heap over a stack?

The heap is more flexible than the stack. That’s because memory space for the heap can be dynamically allocated and de-allocated as needed. However, the memory of the heap can at times be slower when compared to that stack.

## Frequently Asked Data structures Interview Questions

The data structure is nothing but an entity where the data is perfectly aligned and can be manipulated as per the requirement. When we deal with data structure it is not just about one table of data but it is about different data sets and how well they are aligned with each other. Overall, it helps the data to be organized.

 If you would like to Enrich your career with a Java-certified professional, then Enrol Our “Core Java Training” Course. This course will help you to achieve excellence in this domain.

### 1 Explain what is merge sort and how it is useful?

A merge sort is nothing but a process where the data is divided and sorted to reach the end goal. Within this process, the adjacent elements are merged and sorted to create bigger elements. These sorted elements are gathered again and made the even bigger list. This process is continuous and repetitive until and unless they have nailed it down to a single sorted list.

### 4 List a few queue data structure applications.

As the name suggests, the queue is used whenever you need to manage a group of objects in the order FIFO. A few of the queue data structure applications are listed below:

• Serving requests on a single shared resource, like CPU task scheduling, printer, etc.
• Handling interruptions in real-time systems.
• Buffers in apps like CD player and MP3 media players
• In maintaining a playlist in media players, like adding or removing songs.
• ### 2 Is it possible to implement a stack using a queue?

Yes, you can implement a stack using two queues. Any data structure to act like a stack should have a push() method to add data on top and a pop() method to remove the top data.

A linked list is a series of data structures connected via links. In simple words, its a sequence of links that contain items. After the array, the linked list is the second most used data structure. The essential terms to understand the linked list are:

The below diagram depicts how nodes are connected in the Linked List:

Basic operations supported by a linked list:

• Insertion – Inserts an element at the list beginning.
• Deletion – Deletes an element at the list beginning.
• Display – Displays the complete list.
• Search – Searches an element using the given key.
• Delete – Deletes an element using the given key.