*Data Structures & Algorithms Interview Questions You'll Most Likely Be Asked* is a perfect companion to stand ahead above the rest in today’s competitive job market. Rather than going through comprehensive, textbook-sized reference guides, this book includes only the information required immediately for job search to build an IT career. This book puts the interviewee in the driver's seat and helps them steer their way to impress the interviewer.

**Table of Contents**

**Data Structures**

1. General Concepts Of Data Structures

2. Arrays

3. Stacks

4. Queues

5. Lists

6. Hash Data Structures

7. Trees

8. Sets

9. Graphs

**Algorithms**

1. General Concepts Of Algorithms

2. Sorting Algorithms

3. Search Algorithms

4. Huffman Coding

HR Questions

Index

The following is included in this book:

(a) *200 Data Structures & Algorithms* Interview Questions, Answers and __proven strategies __for getting hired as an IT professional

(b) *Dozens *of examples to respond to interview questions

(c) *77 HR* Questions with Answers and __proven strategies__ to give specific, impressive, answers that help nail the interviews

(d) *2 Aptitude* Tests download available on __www.vibrantpublishers.com__

**Sample from the book**

(Below Questions and Answers are randomly taken from different pages of the book)

**151: How do you classify sorting algorithms?**

**Answer:**

Sorting algorithms can be broadly classified comparison based & counting based, and in-place & not-in-place algorithms. Most of the sorting algorithms are based on comparison. The basic idea is to compare 2 elements and swap them or rearrange them based on the particular type of algorithm used. Examples of comparison based algorithms are bubble sort, heap sort, selection sort, quick sort etc. The counting based algorithms like bucket sort and radix sort use the divide and rule algorithms to divide the entire collection and then sort the elements. The in-place algorithms are carried out without using any additional array or data structure. Examples of in-place algorithms are quick sort and heap sort. The not-in-place algorithms use an additional array or data structure for sorting. Examples of not-in-place algorithms are bucket sort and merge sort.

**152: What are some of the popular sorting algorithms?**

**Answer:**

Sorting can be done using various algorithms based on the collection or data structure to be sorted. The popular sorting algorithms can be categorized as simple sorts, efficient sorts, distribution sorts and variants of bubble sort. Simple sorts are done for small data. Efficient sorts perform better than simple sorts but are not quite efficient when it comes to large volume of data. But they work well with random collections. Bubble sort and its variants are highly inefficient and are used only for training purposes. Distribution sorts make use of multiple resources to distribute the source data for sorting and then finally come with the sorted data in the source.

**153: Explain the different techniques used for sorting?**

**Answer:**

The commonly used sorting techniques are stable & non-stable, adaptive & non-adaptive and in-place and not-in-place algorithms. Stable algorithms are those that never change the order in which similar elements are available in the source. Non-stable algorithms are those that change the order in which similar elements are taken. Adaptive algorithm considers the already ordered elements and does not bother much about them. But non-adaptive algorithms never bother whether an element is already ordered or not. It just follows the sorting over and again till all the elements are sorted. In-place algorithms do not make use of additional arrays or data structures for sorting, whereas, the not-in-place algorithms use temporary array or data structure to store the values being sorted temporarily.

**193: What are the techniques used in Huffman Coding?**

**Answer:**

Huffman coding involves Compression and Decompression of data using binary codes. Compression is the process of creating the binary trees based on their probability in the series. Based on the position on the tree, each node or element is given a binary series that makes it unique to the sender. Assuming that the sender has the tree, he can build the data based on the code received, plotting it on the tree. This technique is called decompression or decoding. The same can be done using look up tables also.

**194: Explain Compression technique for Huffman Coding.**

**Answer:**

Compression is the process by which the elements are plotted on a binary tree formed with their frequency in the series. The entire data is sorted based on its probability or frequency and this information is used to create a binary tree as detailed earlier. This binary tree is called the Huffman Tree. Now each element in the tree is prefixed with a binary code based on its position in the tree which makes the code unique since at one position there’s only one element. Huffman tree can be created in top-down or bottom-up method.

**195: Explain Decompression technique for Huffman Coding.**

**Answer:**

Decompression or decoding the elements in Huffman coding assumes that the receiver has access to the Huffman tree created by the sender. Huffman coding – decoding works such that the coding map is shared between the sender and the receiver. The stream bit is decoded and used to traverse the tree till a leaf is reached. Once the leaf or the position is traced, the symbol or data is mapped there. Similarly, all the streams are mapped in the tree and the corresponding symbols or data are mapped forming the binary map.

**TAGS**

Data Structures Interview , Algorithms Interview Questions , IT Interview Questions , General Concepts Of Data Structures , Data Structures Lists , Hash Data Structures , Data Structures Sets , Data Structures Trees , Data Structures Graphs , Sorting Algorithms.

**BISAC **

COM021040

COM051300

COM089000