Учебное пособие C#. Алгоритмы и структуры данных н. А. Тюкачев, В. Г. Хлебостроев издание третье, стереотипное 1 / 23


Download 1.85 Mb.
Pdf ko'rish
bet3/111
Sana19.11.2023
Hajmi1.85 Mb.
#1786905
TuriУчебное пособие
1   2   3   4   5   6   7   8   9   ...   111
Bog'liq
C# Алгоритмы и структуры данных 2018 Тюкачев, Хлебостроев

Г
ЛАВА 
1. Б
АЗОВЫЕ ПОНЯТИЯ
 
В этой главе будут подробно рассмотрены некоторые понятия, кото-
рые широко используются в практике программирования, однако часто на 
уровне их интуитивного понимания. 
1.1. Д
АННЫЕ

ТИПЫ ДАННЫХ И СТРУКТУРЫ ДАННЫХ
 
Информация, зафиксированная и хранящаяся в том или ином виде, на-
зывается данными. Человек в своей практике использует различные формы 
представления информации, наиболее употребительными из которых явля-
ются текстовая, графическая и звуковая. Соответственно, мы, как правило
имеем дело с текстовыми, графическими или аудиоданными. Но в памяти 
компьютера любая информация хранится в виде цепочек из нулей и единиц, 
т.е. в виде двоично-кодированных данных.
Единообразие внутреннего представления информации позволяет уп-
ростить физическую реализацию компьютерных операций и, в конечном сче-
те, уменьшить стоимость компьютеров. Однако это приводит к необходимо-
сти дополнительно указывать способ интерпретации двоичных данных, хра-
нящихся в памяти компьютера. Этой цели служит концепция типов данных. 
Указывая тип данных, мы тем самым выбираем правило преобразования це-
почек из нулей и единиц в привычные нам значения. Например, двоичный 
код 01011010 может быть интерпретирован как целое число 90 или как 
буква Z латинского алфавита. Конкретный вид правил интерпретации опре-
деляется реализацией типов данных, зависящей как от языка программирова-
ния, так и от особенностей микропроцессора, обрабатывающего эти данные. 
Абстрактным типом данных (АТД) [3] называется некоторое множе-
ство значений и множество операций над этими значениями, заданные без 
указания способа их реализации. Так, целочисленный тип данных можно оп-
ределить как АТД, значения которого образуют некоторое подмножество 
целых чисел, а в качестве операций использоваться сложение, вычитание, 
умножение и целочисленное деление. При этом не уточняется ни вид исполь-
зуемого подмножества целых чисел, ни способ их записи в виде двоичных 
кодов, ни детали выполнения операций над ними. 
Под данными обычно понимают неделимые единицы информации, такие 
как целое или вещественное число, отдельный символ. В языках программирова-
ния с ними связывают простые типы данных [18]. Перечень таких типов для языка 
C# приведен в главе 2 книги «C#. Введение в программирование». Однако для ре-
шения практических задач необходимо использовать информационные модели 
объектов реального мира. Для построения таких моделей недостаточно простых 
4 / 23



данных: требуется создавать на их основе более сложные структуры данных. Ба-
зовыми структурами данных являются [30, 31]:
− массивы,
− списки,
− стеки,
− очереди,
− деревья,
− графы.
Каждая структура данных характеризуется способом доступа к состав-
ляющим ее элементам. Именно доступ к элементам, а также изменение 
структуры путем добавления и удаления отдельных элементов являются ос-
новными операциями над любой структурой данных. Поэтому для структур 
данных можно ввести понятие составного абстрактного типа данных. Оп-
ределение составного АТД должно включать указание на тип(ы) элементов 
соответствующих структур данных и перечисление операций над ними.
Для работы со структурами данных необходимо иметь реализацию со-
ставных АТД. В языке C# такие реализации представляются в виде классов, 
содержащих элементы структур данных в виде полей, а реализации опера-
ций – в виде методов. 

Download 1.85 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   ...   111




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling