# Data Structures Tutorial Library

## Data Structure Introduction

In computer terms, a data structure is a Specific way to store and organize data in a computer's memory so that these data can be used efficiently later.

• What is Data Structure?
• Linear Data Structure.
• Nonlinear Data Structure.

## Data Structures Environment Setup

For doing data structure and implementing its various concepts in this upcoming chapters, you need to have a compiler to perform all the concepts in the form of programs.

## Fundamental Elements of Data Structure

• characteristics of Data types in Data Structure.
• Types of Data Structures.
• Basic Operations of Data Structures.

## Greedy Algorithm

In greedy algorithm technique, choices are being made from the given result domain. As being greedy, the next to possible solution that looks to supply optimum solution is chosen. Greedy method is used to find restricted most favorable result which may finally land in globally optimized answers. But usually greedy algorithms do not gives globally optimized solutions.

## Data Structures and Arrays

For many applications, there may arise some circumstances where programmers need to have a single name to store multiple values. For processing such a large amount of data, programmers need powerful data types that would facilitate efficient storage, accessing and dealing with such data items. Using C++, you can implement the concept of arrays.

The linked list or one way list is a linear set of data elements which is also termed as nodes.

• Insertion of Values in Linked List.

## Polynomials Using Linked List and Arrays

Polynomials and Sparse Matrix are two important applications of arrays and linked lists. A polynomial is composed of different terms where each of them holds a coefficient and an exponent.

## Principles of Program Analysis

This chapter starts with the basic information regarding the fundamental knowledge required to solve various problems. Algorithm design is one of the primary steps in solving problems. Algorithms are set of steps or instructions required and designed to solve a specific problem.

## Big-O Notation and Algorithm Analysis

In this chapter you will learn about the different algorithmic approaches that are usually followed while programming or designing an algorithm. Then you will get the basic idea of what Big-O notation is and how it is used.

## Concepts of Stack in Data Structure

In this chapter, you will study the various operations and working technique of stack data structure.

• What is stack?
• Stack as Abstract Data Type.
• Representation of Stack using Arrays.

## Concepts of Queue in Data Structure

In this chapter, you will be given an introduction to the basic concepts of queues along with the various types of queues which will be discussed simulating the real world situation.

## Searching Techniques

This chapter explores various searching techniques. Searching is an operation or a technique that helps finds the place of a given element or value in the list.

• What is searching?
• What is Linear Search?
• What is Binary Search?

## Sorting Techniques

In this chapter, you will be dealing with the various sorting techniques and their algorithms used to manipulate data structure and its storage.

• What is sorting?
• Categories of Sorting.
• Complexity of Sorting Algorithms.
• Efficiency of Sorting Techniques.
• Types of Sorting Techniques.

## Bubble Sort Algorithm

Bubble Sort Algorithm is used to arrange N elements in ascending order, and for that, you have to begin with 0th element and compare it with the first element. If the 0th element is found greater than the 1st element, […]

## Selection Sort Algorithm

The selection is a straightforward process of sorting values. In this method, to sort the data in ascending order, the 0th element is compared with all other elements. If the 0th element is found to be greater than the compared […]

## Merge Sort Algorithm

Merge sort is another sorting technique and has an algorithm that has a reasonably proficient space-time complexity - O(n log n) and is quite trivial to apply. This algorithm is based on splitting a list, into two comparable sized lists, […]

## Quick Sort Algorithm

Quick sort is one of the most famous sorting algorithms based on divide and conquers strategy which results in an O(n log n) complexity. So, the algorithm starts by picking a single item which is called pivot and moving all […] 