АЛГОРИТМЫ

Алгоритм — это процесс или набор правил, которым необходимо следовать при вычислениях или других операциях по решению задач, особенно с помощью компьютера. [1]

Алгоритм. Последовательность шагов, используемых для решения проблемы. Последовательность представляет собой уникальный метод решения проблемы путем предоставления определенного решения. [2]

Программный алгоритм – это компьютерная процедура, которая очень похожа на рецепт (называемый процедурой) и точно сообщает вашему компьютеру, какие шаги следует предпринять для решения проблемы или достижения цели. Ингредиенты называются входами, а результаты — выходами. [1]

Однако важно отметить, что алгоритм программирования не является компьютерным кодом. Написано на простом английском. Он не ходит вокруг да около — у него есть начало, середина и конец. На самом деле вы, вероятно, назовете первый шаг «началом», а последний — «концом».

Часто бывает полезно пронумеровать шаги, но это не обязательно. Вместо пронумерованных шагов некоторые люди используют отступы и пишут псевдокод, который является полупрограммным языком, используемым для описания шагов в алгоритме.

Чтобы процесс представлял алгоритм, он должен быть:[3]

Конечный: алгоритм должен в конечном итоге решить проблему.

Четкое определение. Последовательность шагов должна быть точной и понятной. В особенности потому, что компьютеры участвуют в использовании алгоритмов, компьютер должен быть в состоянии понять шаги для создания пригодного для использования алгоритма.

Эффективный: алгоритм должен решать все случаи проблемы, для которой кто-то его определил. Алгоритм всегда должен решать проблему, которую он должен решить.

Алгоритм можно записать в виде списка шагов с использованием текста или в виде изображения с фигурами и стрелками, называемого блок-схемой. Например

для значения в диапазоне от 0 до 15, если значение меньше 15, напечатать значение. этот алгоритм представлен на рисунке ниже. у него есть начало и конец.

СТРУКТУРЫ ДАННЫХ [5]

Структуры данных — это способ организации и хранения данных, обеспечивающий доступ к ним и эффективную работу с ними. Они определяют связь между данными и операциями, которые можно выполнять над данными. [5]

Структуры данных в основном именно таковы — это структуры, которые могут хранить некоторые данные вместе. Другими словами, они используются для хранения набора связанных данных. [4]

Структуры данных упрощают хранение и извлечение информации.

Как правило, структуры данных в информатике можно разделить на две категории: примитивные и непримитивные структуры данных. Первые являются простейшими формами представления данных, тогда как вторые более продвинуты:

На приведенной ниже диаграмме показано, как организованы структуры данных.

Примитивные структуры данных

Это самые примитивные или базовые структуры данных. Они являются строительными блоками для манипулирования данными и содержат чистые, простые значения данных. Python имеет четыре примитивных типа переменных:

Целые числа

Вы можете использовать целое число для представления числовых данных, а точнее, целых чисел от отрицательной бесконечности до бесконечности, например 4, 5 или -1.

Плавающая

Float» означает «число с плавающей запятой». Вы можете использовать его для рациональных чисел, обычно заканчивающихся десятичной цифрой, например 1,11 или 3,14.

Некоторые из операций, выполняемых над целыми числами и строками, включают: например, если x — целое число, а y — число с плавающей запятой, print(x+y), print(x-y), print(x/y) и многие другие.

Строки

Строки представляют собой наборы алфавитов, слов или других символов. вы можете создавать строки, заключая последовательность символов в пару одинарных или двойных кавычек. Например: «еда» или «еда» и т. д.

Некоторые из операций над строками — это конкатенация. Например:

X = “my”

Y = «имя»

Z = «мой» + «имя»

Print(z) вывод мое имя

Нахождение длины строки, которую мы используем: len(), и т.д.

логическое значение

Это встроенный тип данных, который может принимать значения: True и False.

Непримитивные структуры данных

Непримитивные типы являются сложными членами семейства структур данных. Они не просто хранят значение, а набор значений в различных форматах. Они делятся на.

Массивы

В информатике массив — это структура данных, состоящая из набора элементов, каждый из которых идентифицируется по крайней мере одним индексом массива или ключом. В Python массивы поддерживаются модулем массива, и их необходимо импортировать, прежде чем вы начнете их инициализировать и использовать.

import array as arr
a = arr.array("I",[3,6,9])
type(a)
array.array

Файлы

Файлы традиционно являются частью структур данных. И хотя большие данные — обычное дело в индустрии науки о данных, язык программирования без возможности хранить и извлекать ранее сохраненную информацию вряд ли будет полезен. Некоторые из основных функций, которые помогут вам работать с файлами с помощью Python:

Open() Чтобы открывать файлы в вашей системе, имя файла — это имя открываемого файла, Read() — для чтения файлов целиком, readline() — для чтения по одной строке и многое другое.

списки

Это коллекция, которая упорядочена и изменчива. Позволяет дублировать участников. Это набор элементов в определенном порядке. вы можете распознать списки по их квадратным скобкам [ и ]. пример списка. имена = ["Шамим", "Афуа", "Джеймс", "Седрик", "Сокровище"]

Список используется, если вам нужен список элементов по порядку

Словари

Словарь — это собирательный термин для любой реализации структуры данных, используемой для быстрого поиска/вставки. Пары ключей и значений указываются в словаре с помощью нотации d = {key1 : value1, key2 : value2 }.

Словарь похож на адресную книгу, где вы можете найти адрес или контактные данные человека, зная только его/ее имя, т.е. мы связываем ключи (имя) с значениями. (Детали).

Кортежи,

Кортежи используются для объединения нескольких объектов. Думайте о них как о списках, но без обширной функциональности, которую дает вам класс списка. Одной из основных особенностей кортежей является то, что они неизменяемы, как строки, т. е. вы не можете изменять кортежи.

Пример кортежа: this_tuple = («яблоко», «банан», «вишня»)

Наборы

Набор — это неупорядоченная коллекция без повторяющихся элементов. Основные виды использования включают проверку членства и устранение повторяющихся записей. Объекты множества также поддерживают математические операции, такие как объединение, пересечение, разность и симметричная разность.

Пример: this_set = {"яблоко", "банан", "вишня"}

Набор используется, если вас интересует только то, содержится ли что-то в большей группе вещей.

Стеки

Стек — это контейнер объектов, которые вставляются и удаляются в соответствии с концепцией «последним пришел — первым вышел» (LIFO). Подумайте о сценарии, в котором на званом ужине, где есть стопка тарелок, тарелки всегда добавляются или удаляются с вершины стопки. В информатике эта концепция используется для оценки выражений и разбора синтаксиса, планирования алгоритмов/процедур и т.д.

Стеки могут быть реализованы с помощью списков в Python. Когда вы добавляете элементы в стек, это называется операцией проталкивания, тогда как удаление или удаление элемента называется операцией извлечения.

Очереди

Очередь — это контейнер объектов, которые вставляются и удаляются по принципу «первым пришел — первым обслужен» (FIFO). Отличным примером очереди в реальном мире является очередь у билетной кассы, где люди обслуживаются в соответствии с порядком их прихода, и, следовательно, человек, который приходит первым, также первым уходит.

Деревья

Дерево в реальном мире — это живое существо с корнями в земле и ветвями, которые держат листья, плодоносят на открытом воздухе.

Деревья помогают в определении сценариев реального мира и используются повсюду, от игрового мира до разработки синтаксических анализаторов XML, а также принцип проектирования PDF основан на деревьях. В науке о данных «обучение на основе дерева решений» на самом деле представляет собой большую область исследований.

Ссылки

[1] https://study.com/academy/lesson/what-is-an-algorithm-in-programming-definition-examples-analysis.html

[2] https://www.dummies.com/programming/big-data/what-are-algorithms/

[3] https://www.dummies.com/programming/big-data/what-are-algorithms/

[4] https://python.swaroopch.com/data_structures.html

[5] https://www.datacamp.com/community/tutorials/data-structures-python?utm_source=adwords_ppc&utm_campaignid=1455363063&utm_adgroupid=65083631748&utm_device=c&utm_keyword=&utm_matchtype=b&utm_network=g&utm_adpostion=1t1&utm_creative=332602034361&utm_targetid=aud-299261629574:dsa- 473406574075&utm_loc_interest_ms=&utm_loc_physical_ms=9076807&gclid=CjwKCAiA767jBRBqEiwAGdAOr_2hvlc5oEyEQ11fAf8D_Q3PDrY-f_MkKAA1_Lnf4DqLeY5_grZN9xoCOlcQAvD_Bw