Overview of Data Structures

Last updated : October 9, 2022
Figure 1 : Data structures and algorithms


Data structures and algorithms are the building blocks of computer science. Data structures and algorithms are essential throughout the computer software and hardware industry. It is important to implement solutions to problems 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 are trying 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 a computer's memory. 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. Google search, travel reservation systems, and google maps are a few to mention. They all deal with a heavy volume of data with critical response times. Therefore, performance is a crucial factor.

What are the basic data structures?

Listed below are some basic data structures with their advantages and disadvantages. These data structures are 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
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 a computer algorithm's efficiency.

An algorithm consists of a series of steps required to perform a task efficiently. An algorithm's 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 mentioning actual data dimensions. It is similar to picking a shirt, small, medium, large, etc., instead of looking at shirt dimensions.

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

Comments are disabled

No Comments