## Description of algorithm

**An algorithm** is a set of instructions or steps that are followed in order to solve a problem or accomplish a task. Algorithms can be expressed in any language, including natural languages, programming languages, and mathematical notation. They are used in a wide variety of fields, including computer science, mathematics, and engineering, and are a fundamental concept in the study of computation and problem-solving. Algorithms can be simple or complex, and can be designed to run on a variety of different types of computers or devices.

## Example of algorithm

One example of an algorithm is the "binary search" algorithm, which is used to find a specific value in a sorted list of values. The steps of the algorithm are as follows:

`Start with the middle element of the list.`

If the middle element is the value you are looking for, return its position.

If the value you are looking for is less than the middle element, repeat the process on the left half of the list.

If the value you are looking for is greater than the middle element, repeat the process on the right half of the list.

Repeat steps 2-4 until the value is found or the list is exhausted.

This **algorithm** is called **"binary"** because it repeatedly divides the list in half, discarding one half of the list at each step, until the target value is found. Another example is the **"bubble sort"** algorithm, which is a simple sorting algorithm that repeatedly steps through the list, compares adjacent elements and swaps them if they are in the wrong order. The pass through the list is repeated until the list is sorted. These are simple examples, but algorithms can also be much more complex, involving many more steps and decision points.

**Younes Derfoufi**

my-courses.net

my-courses.net

[…] Algorithms:Bug (or bug) – Compiler – Data structure – Debugger – Encapsulation – Software engineering – MiddleWare – ORM – OOP object-oriented programming – Parallel programming – Batch processing – Programming languages :ActionScript – ASP – Assembler – AutoIt – CoffeeScript – C++ – C# – Go – Groovy – Haskell – Java -Kotlin – Lua – MATLAB – Microsoft Small Basic – Objective-C- Perl – PHP – Python – PyQt – R – RapidQ – Ruby – Rust – Scala – Scheme – Swift (Apple's language) – Swift (parallel scripting language) – Tkinter – Windows PowerShell – – 2G – 3G – 4G – 5G – Agile – API – BDD – Library – Big Data – Loop – CDMA – CLI – Cloud – Cloud Computing – CMS – Compilation – CSS – Debugging – Docker – DOM – Edge – Edge Computing – Fog – Function – FP – FTP – GPRS – GraphQL – GSM – GUI – Legacy – HTML – HTTP – HTTPS – Hybrid – IDE – IMAP – Interpretation – JavaScript – JWT -LDAP – LoRa – LTE – Machine Learning – MVC – MVP – MVVM – NAT – NFC – OAuth – Objects – OOP – PAT – Polymorphism – REST – RFID – SAML – SCP – Scrum – SDK – SFTP – Shell – SMTP – SOAP – SQL – SSH – SSL/TLS – Syntax – Table – TDD – TypeScript – UDP – Variable – WebRTC – WebSockets – WIFI – Zigbee DBMS database:MySql – PostgreSQL – Oracle – MS SQL Server – SQLite – MongoDB – Redis – Cassandra – Riak – Couchbase – Elasticsearch Python Framework:Tkinter – PyQt – PySide – WxPython – Django- Flask- Pyramid- CherryPy- Tornado- Bottle- FastAPI- Pyramid- Sanic- Starlet – Hug- TornadoFX- Dash- Streamlit- Falcon- Connexion- Eve- Hug- Morepath- Responder – TornadoFX- TurboGears- Web2py- Zope- AIOHTTP- BlueBream- CubicWeb- […]