Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Динамические структуры

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

В более сложных ситуациях таблица может быть двумерным массивом (т. е. матрицей, имеющей структуру строк и столбцов), либо может быть n -мерным массивом при весьма больших значениях n, либо она может иметь структуру дерева, представляющего отношения иерархии или ветвления, либо это может быть сложная многосвязная структура с огром­ным множеством взаимных соединений, такая, например, которую можно найти в человеческом мозгу. Чтобы правильно использовать машину, важно добиться хороше­го понимания структурных отношений, существующих между дан­ными, способов представления таких структур в машине и методов работы с ними.

В настоящей главе кратко рассматриваются наиболее важные факты, касающиеся информационных структур:

- статические и ди­намические свойства разного рода структур;

- средства распределения памяти и представления структурных данных;

- эффективные алгоритмы для создания, изменения, разрушения структурной ин­формации и доступа к ней.

Структуры будут нас интересовать не только с точки зрения внешнего, но и их внутреннего представления в машине. Мы увидим, что нет ничего мистического или трудного в методах работы со сложными структурами; эти методы являются важной частью репертуара каждого программиста, и он легко может ими воспользоваться, программируя на различных языках. Обычно в данных присутствует значительно больше структурной информации, чем мы хотим непосредственно представить в маши­не. Можно себе представить, что такая структурная информация была бы уместна в некоторых машинных приложениях, но, очевидно, нам никогда не придется в каждой из ситуаций хранить о структуре все, что существует. Из сказанного ясно, что в каждом конкретном случае мы должны решить, насколько подробно в наших данных должна быть пред­ставлена структура и как организовать доступ к любой части ин­формации. Чтобы принять такое решение, необходимо знать, какие операции будут выполняться с данными. Вот почему в этой главе в связи с каждой задачей мы будем рассматривать не только струк­туру данных, но и класс операций, которые выполняются с этими данными; разработка машинного представления в равной мере определяется требуемыми функциями от данных и присущими им свойствами. Вообще в задачах прием проектирования такое выделение "функции" наравне с "формой" является основополагающим.

<== предыдущая лекция | следующая лекция ==>
 | Данные динамической структуры
Поделиться с друзьями:


Дата добавления: 2014-01-11; Просмотров: 326; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.