АЛГОРИТМЫ
Алгоритм — это процесс или набор правил, которым необходимо следовать при вычислениях или других операциях по решению задач, особенно с помощью компьютера. [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 основан на деревьях. В науке о данных «обучение на основе дерева решений» на самом деле представляет собой большую область исследований.
Ссылки
[2] https://www.dummies.com/programming/big-data/what-are-algorithms/
[3] https://www.dummies.com/programming/big-data/what-are-algorithms/