Data Structures and Algorithm

in datastructures •  2 years ago 

Data Structure and algorithms

fa382e00-1bd2-11eb-992b-34d211d11cc2.png

What is Data Structure?

image.png

Data Structure is a way of collecting and organizing data in such a way that we can perform tasks on this data effectively. Data Properties is about providing data features in a specific relationship, for better organization and storage. For example, we have some data, player name “Hardik” and 26 years. Here “Hardik” is a String data type and 26 is a complete data type.

We can classify this data as a player record, which will have both player's name and age in it. We can now collect and store player records in a file or archive as a data frame. For example “Rohit” 30, “Bumrah” 31, “Rishabh” 33

If you know the concepts of the Object-Oriented program, the class does the same thing, collecting different types of data under one business. The only difference is that the data structures provide strategies for accessing and manipulating the data efficiently.

In simple language, Data Structures are structures designed to store ordered data, so that various tasks can be performed easily. Represents data information that must be sorted into memory. It should be designed and used in such a way that it reduces complexity and increases efficiency.

Classification of data types

image.png

Linear - In Line data structures, data objects are arranged in alphabetical order. Example: Array.
Non-linear - In Non-Line Data Buildings, the data items do not sequence. Example: Tree, Graph.
Homogenous - In the same data structures, all features are the same type. Example: Array.
Non-Homogenous- In a Non-Homogeneous data structure, the elements may or may not have the same type. Example: Buildings.
Static - Vertical data structures are those of size and structures associated with modified memory areas, at the time of integration. Example: Array.
Dynamic - Strong structures are those that expand or shrink depending on the need for the system and its implementation. Also, their associated memory locations change. Example: The Link List is built using pointers.

What is an Algorithm -

image.png

An algorithm is a limited set of instructions or minds, written in sequence, to accomplish a specific task previously described. The algorithm is not a complete code or program, it is just a concept (solution) that is the context of a problem, which can be expressed as a high-level informational definition such as pseudocode or using a flow chart.

Properties of Algorithm -

Every algorithm must meet the following criteria:

Input- There must be 0 or more inputs given out of the algorithm.
Output- There should be at least 1 output found.
Specification- All steps of the algorithm must be clear and well defined.
Finiteness- The algorithm should have a limited number of steps.
Accuracy- Every step of the algorithm should produce the correct output.

The algorithm is said to be efficient and fast if it takes less time to launch and consumes less memory space. The performance of the algorithm is measured on the basis of the following factors:

Time Complexity
Space Complexity

Time Complexity is a way of representing the amount of time a system needs to continue until it is completed. It is usually a good practice to try to keep the required time minimal so that our algorithm completes its operation in as little time as we can.

Space Complexity

The amount of memory space is required by the algorithm, during its operation. The complexity of the space should be taken seriously in multi-user systems and in situations where limited memory is available.

The algorithm usually requires space for the following components:

Teaching Space: The space required to maintain a usable version of the program. This space is fixed but varies depending on the number of lines in the system.
Data Space: It's the space required to store all the fixed variable (including temporary variables).
Location: Its space is required to store the environmental information required to resume the suspended operation.

Why Learn Data Structure and Algorithms?

As apps become more complex and data is rich, there are three common problems apps face today.

Data Search - Consider a list of one (106) store items. When an app searches for something, it should search for something in 1 million (106) and slow down the search speed. As the data grows, the search will slow down.

Processor Speed ​​- The processor speed, though very high, decreases as the data grows to billions of records.

Multiple Requests - Since thousands of users can search for data simultaneously on a web server, even a fast server fails while searching for data.

Advantages of Data Structure and Algorithms

(1) It helps to solve complex real-time problems.

(2) Develop problem-solving skills and analytical skills.

(3) It helps to improve the complexity of problems by using appropriate algorithms.

(4) It assists in the fragmentation of technology negotiations and assists primarily in high-value companies.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Please comment guys so that I can improve my blogs in future