In this series of blogs, we will talk about the data structure in Dart.
So let's know what a data structure is.
Data structures
A data structure is a way to store and organize data in order to facilitate access and modification. Using the appropriate data structure or structures is an important part of algorithm design. No single data structure works well for all purposes, and so you should know the strengths.
and the limitations of several of them.
Firstly, before we dive into data structure, we need to know what _complexity _is.
Complexity refers to the amount of time, space, and other resources required to solve a problem or execute an algorithm.
Complexity is characterizing the efficiency of algorithms. Efficiency can be measured by
Space Complexity -> Related to data structures and how information is stored
Time Complexity -> Related to how fast the algorithm can process data and provide results
Time Complexities Cases:
-
Constant Time
- It takes the same time regardless of the number of inputs. For example:
or
_Note : As input data increases, the amount of time the algorithm takes does not change. The Big O notation for constant time is O(1).
Note:
The Big O Notation is a metric for determining an algorithm's efficiency. Put simply, it gives an estimate of how long it takes your code to run on different sets of inputs. You can also see it as a way to measure how effectively your code scales as your input size increases.
- Linear Time
As you can see, as the amount of data increases, the running time increases by the same value.
The Big O notation for this type of complexity is o(n).
- Quadratic Time
This type of algorithm takes time proportional to the square of the size of the inputs.
As you can see in the graph below, as the input size increases, the time it takes to run this code increases drastically.
The Big O notation for this type is O(n)^2.
Finally
At this point, you now know the concept of complexity and how to calculate the algorithm's efficiency.
In this article, I just talk about three types of complexity. If you want to know about the rest of the complexity types, you can find many resources on the internet.
I'm excited to see you in the next article.
See you soon!
Top comments (0)