Overview of Data Structures

Last updated : 9 October 2021
Figure 1 : Data structures and algorithms

Overview

Data structures and algorithms are the building blocks of computer science. Data structures and algorithms play an important role throughout the computer software and hardware industry. It is important to implement solutions to problems that we try to solve using the correct algorithm and data structure to ensure improved performance, maintainability, and readability.

The importance of utilizing data structures increases with the complexity of the problem we try to solve. The industries involved in complex and time-sensitive data processing sectors, such as financial and stock trading, tend to pay extra careful attention to their complex algorithms. Therefore screen their potential candidates for their strong data structures and algorithms knowledge.

What are Data Structures and Algorithms?

A data structure defines how data is arranged in the memory of a computer. Basic data structures include arrays, linked lists, stacks, binary trees, hash tables, etc. Algorithms manipulate the data stored in data structures to solve a problem. Algorithms may sort, search, insert or delete data stored in our data structures to achieve the desired result. So to solve a problem, we have to pick the most suitable data structure and apply the correct algorithm. Therefore, data structures and algorithms are closely associated.

What are Data Structures and Algorithms used for?

Data structures are used in almost every software application. In google search, travel reservation systems, google maps are a few to mention. They all deal with a heavy volume of data with critical response times. Therefore, performance is a key factor.

What are the basic data structures?

Listed below are some basic data structures with their advantages and disadvantages. Each of these data structures is discussed in detail in the relevant course tutorial.

Data StructureAdvantagesDisadvantages
ArrayFast inserts
Fast access by index
Slow search
Slow deletion
Fixed size
Sorted ArrayFaster search than unsorted arraySlow insertion
Slow deletion
Fixed size
StackFast LIFO accessSlow random access
QueueFast FIFO accessSlow random access
Linked listFast inserts and deletesSlow search
Binary treeFast insertion and deletionComplexity
Hash tableFast access by key
Fast insertion
Inefficient
Slow deletion and access (if key unknown)
HeapFast insertion and deletion
Fast access to largest item
Slow access to remaining items
GraphSimulates practical solutionsSlow and complex
2-3-4 treeSearch, Insertion, DeletionComplex
Red-black treeSearch, Insertion, DeletionComplex

What is Big O Notation?

In computer science, Big O notation is the rough measurement of how efficient a computer algorithm is.

An algorithm consists of a series of steps required to perform a task efficiently. An algorithm efficiency is calculated by the number of steps it takes to solve the problem and the growth of the run time based on input data length to the algorithm. This measurement varies on the required number of steps and the volume of data. The time complexity increases with the amount of data. That is a shorthand way to say how efficient a computer algorithm is. The Big O notation expresses the efficiency without needing to mention actual dimensions of data. It is similar to picking a shirt, size, small, medium, large, etc., instead of looking at shirt dimensions.

Lance
By: Lance
Lance is a software engineer with over 15 years of experience in full-stack software development.
Read more...

Comments are disabled

No Comments