Hi guys! Okhunjon with you again. I want to provide information about data structures and algorithms that every programmer should know to become a good programmer.

Basically, we will talk about the purpose of the information structure and algorithm and the main terms that are often used in this, that is, we will get acquainted with the foundation of information structures and algorithms.

First, let's talk about what we mean by data, data structures, and algorithms.

ATTENTION ADVERTISEMENT!A video course on Java programming languages is ready. You can read information about the video course by clicking on the image below:

## What is information?

Data is simply a value or set of values. For example:

name=”Akhunjon”

age=”22”

gender="male"

Passport number=”AA123….”

v.h.

Data elements correspond to a single value unit and represent a variable or constant value.

## What are data structures?

Data structures (structure), basically, are a group of data elements collected under one name, and it defines a clear way of storing and organizing data in a computer, as a result of which it can be used effectively.

The following steps should be taken when choosing a data system:

- Analyze the problem to determine the key operations to be performed.
- List resource constraints for each operation.

Choosing the data structure that best meets these requirements.

As a programmer, choosing the most appropriate data structure for your application is important and mandatory.

## Data structure operations

The data in the data structure is processed by certain operations. The selected data structure mainly depends on the frequency of operations to be performed on the data structure.

Traversing – Movement.

Searching — Search

Inserting

Deleting — Deletion

Sorting — Sorting

Merging – Merging.

I will give more detailed information about these operations in the following articles.

## Choice of data structures

When choosing a special data model, attention is mainly paid to two aspects:

- It should be rich enough to represent the relationship between data elements.
- It should be simple enough to process information efficiently when needed.

Manashes are basic concepts about information and its structure.

## What is an algorithm?

An algorithm is a step-by-step procedure that specifies a set of instructions that must be executed in a specific order to obtain a desired result. Algorithms are usually created independently of the underlying languages, and a single algorithm can be implemented in more than one programming language.

In terms of data structure, following are the important categories of algorithm –

A search is an algorithm for searching for an element in a data structure.

Sort is an algorithm for ordering elements.

Append — an algorithm for adding an element to a data structure.

Update — an algorithm for updating an existing element in a data structure.

Deletion is an algorithm for deleting an existing element from a data structure.

## Features of the algorithm

Not all procedures can be called algorithms. The algorithm should have the following properties:

Precise — the algorithm must be precise and correct. Each step (or circuit) and their input / output should be clear and lead to only one meaning, i.e. should not be ambiguous.

Input — the algorithm must have 0 or more defined inputs.

Output i.e. Result — An algorithm must have 1 or more well-defined outputs and must correspond to the desired result.

Finiteness- Algorithms must terminate after a finite number of steps.

Feasibility — Must be feasible with available resources.

Independent — The algorithm must have step-by-step instructions that must be independent of any programming code.

## How to write an algorithm?

There are no well-defined standards for writing algorithms. Rather, it depends on the problem and the resource. Algorithms are never written to support specific software code.

We know that all programming languages share basic code constructs like loops (do, for, while), conditionals, selection operators (if-else), etc. These general structures can be used to write algorithms.

We write algorithms step by step, but not always. Writing algorithms is a process and is done after the problem domain is found. In other words, we need to know the definition of the problem we are looking for a solution.

The information I wanted to give about the data structure and algorithm in this article consisted of these. In the following articles, see examples of how to find and choose appropriate algorithms for specific problems and this will be the continuation of this article.

For now, we will end this article and bid you a temporary farewell!