Читать книгу Информационные технологии и управление искусственным интеллектом онлайн


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


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


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


1. Аистов Александр Алексеевич *


2. Бобров Борис Борисович *


3. Воробьева Валентина Владиславовна *



27. Сорокин Сергей Семенович


В этом случае, для поиска элемента с номером «n», мы начинаем просмотр списка с начала и считаем количество встреченных разделителей. Когда мы отсчитываем «n-1» разделителей, мы находим нужный элемент.


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


Рассмотрим пример таблицы умножения. В этой таблице, адрес каждой ячейки определяется номером строки и номером столбца. Например, для умножения числа из 3-й строки на число из 4-го столбца, мы найдем ячейку, расположенную на пересечении этих строк и столбцов.


При хранении таких данных, важно использовать разделители, которые отделяют строки и столбцы друг от друга. Это облегчает поиск элементов по их адресам. Например, при использовании символьной строки для представления таблицы, мы можем разделить элементы одной строки одним символом-разделителем, а строки друг от друга – другим символом.