- •Управление данными
- •База данных
- •Структура бд
- •Этапы проектирования базы данных
- •См. Также
- •Структура данных
- •Примеры баз данных
- •Система управления базами данных
- •Основные функции субд
- •База знаний
- •Классификация баз знаний
- •Организация знаний
- •Применение баз знаний
- •Базы знаний в интеллектуальной системе
- •См. Также
- •Денормализация
- •См. Также
- •Распределённые базы данных
- •Основные принципы
- •Типы Распределённых Баз Данных
- •Хранилище данных
- •Принципы организации хранилища
- •Процессы работы с данными
- •См. Также
- •Интеллектуальный анализ данных
- •Задачи, решаемые иад
- •Прогнозирование
- •Визуализация
- •Алгоритмы обучения
- •Этапы обучения
- •См. Также
- •Литература
- •Обработка данных
- •Типичные цели обработки данных
- •Общие задачи обработки данных
- •Прикладные области обработки данных
- •Информация
- •Введение
- •Хранение информации
- •Аналоговая и цифровая информация
- •Количество информации
- •Виды информации и её свойства
- •Понятие информации, классификация и свойства
- •Свойства информации
- •Информационная модель
- •Типы информационных моделей
- •База знаний
- •Классификация баз знаний
- •Организация знаний
- •Применение баз знаний
- •Базы знаний в интеллектуальной системе
- •См. Также
См. Также
Структура данных
Движок базы данных
Система управления базами данных
База знаний
Нормальная форма
Распределенные базы данных
Структура данных
Бинарное дерево, простой пример ветвящейся связной структуры данных.
В вычислительной технике структура данных — это программная единица, позволяющая хранить и обрабатывать множество однотипных и/или логически связанных данных. Для добавления, поиска, изменения и удаления данных структура данных предоставляет некоторый набор функций, составляющих интерфейс структуры данных. Структура данных часто является реализацией какого-либо абстрактного типа данных.
При разработке программного обеспечения большую роль играет проектирование хранилища данных, и представление всех данных в виде множества связанных структур данных. Хорошо спроектированное хранилище данных оптимизирует использование ресурсов (таких как время выполнения операций, используемый объём оперативной памяти, число обращений к дисковым накопителям), требуемых для выполнения наиболее критичных операций.
Структуры данных формируются с помощью типов данных, ссылок и операций над ними в выбранном языке программирования.
Различные виды структур данных подходят для различных приложений; некоторые из них имеют узкую специализацию для определённых задач. Например, Б-деревья обычно подходят для создания баз данных, в то время как хэш-таблицы используются повсеместно для создания различного рода словарей, например, для отображения доменных имён в интернет адреса компьютеров.
При разработке программного обеспечения сложность реализации и качество работы программ существенно зависит от правильного выбора структур данных. Это понимание дало начало формальным методам разработки и языкам программирования, в которых именно структуры данных, а не алгоритмы, ставятся во главу архитектуры программного средства. Большая часть таких языков обладает определённым типом модульности, позволяющим структурам данных безопасно переиспользоваться в различных приложениях. Объектно-ориентированные языки, такие как Java, C# и C++, являются примерами такого подхода.
Многие классические структуры данных представлены в стандартных библиотеках языков программирования или непосредственно встроены в языки программирования. Например, структура данных хэш-таблица встроена в языки программирования Lua, Perl, Python, Ruby, Tcl и др. Широко используется стандартная библиотека шаблонов STL языка C++.
Фундаментальными строительными блоками для большей части структур данных являются массивы, записи (см. конструкцию struct в языке Си и конструкцию record в языке Паскаль), размеченные объединения (см. конструкцию union в языке Си) и ссылки. Например, структура данных двусвязный список, может быть построена с помощью записей и зануляемых ссылок, а именно, каждая запись будет предоставлять блок данных (узел, node), содержащий ссылки на «левый» и «правый» узлы, а также сами хранимые данные.
Смотри также
Список структур данных — каталог структур данных общего назначения
STL — стандартная библиотека шаблонов, включающая в себя шаблоны различных структур данных (контейнеров).
Абстрактный тип данных
Литература
Альфред В. Ахо, Джон Хопкрофт, Джеффри Д. Ульман Структуры данных и алгоритмы = Data Structures and Algorithms. — М.: «Вильямс», 2000. — С. 384. — ISBN 0-201-00023-7
Майкл Мейн, Уолтер Савитч Структуры данных и другие объекты в C++ = Data Structures and Other Objects Using C++. — 2-е изд. — М.: «Вильямс», 2002. — С. 832. — ISBN 0-201-70297-5
Ссылки
Структуры данных и хэширование
Категории: Вычислительная техника | Структуры данных
Литература
Скотт В. Эмблер, Прамодкумар Дж. Садаладж Рефакторинг баз данных: эволюционное проектирование = Refactoring Databases: Evolutionary Database Design (Addison-Wesley Signature Series). — М.: «Вильямс», 2007. — С. 368. — ISBN 0-321-29353-3
К. Дж. Дейт Введение в системы баз данных = Introduction to Database Systems. — 8-е изд. — М.: «Вильямс», 2006. — С. 1328. — ISBN 0-321-19784-4
Томас Коннолли, Каролин Бегг Базы данных. Проектирование, реализация и сопровождение. Теория и практика = Database Systems: A Practical Approach to Design, Implementation, and Management Third Edition. — 3-е изд. — М.: «Вильямс», 2003. — С. 1436. — ISBN 0-201-70857-4
