Модели и структуры данных

Структуры данных и алгоритмы служат теми материалами, из которых строятся программы. Более того, сам компьютер состоит из структур данных и алгоритмов. Встроенные структуры данных представлены теми регистрами и словами памяти, где хранятся двоичные величины. Заложенные в конструкцию аппаратуры алгоритмы - это воплощенные в электронных логических цепях жесткие правила, по которым занесенные в память данные интерпретируются как команды, подлежащие исполнению. Поэтому в основе работы всякого компьютера лежит умение оперировать только с одним видом данных - с отдельными битами, или двоичными цифрами. Работает же с этими данными компьютер только в соответствии с неизменным набором алгоритмов, которые определяются системой команд центрального процессора.
Задачи, которые решаются с помощью компьютера, редко выражаются на языке битов. Как правило, данные имеют форму чисел, литер, текстов, символов и более сложных структур типа последовательностей, списков и деревьев. Еще разнообразнее алгоритмы, применяемые для решения различных задач; фактически алгоритмов не меньше чем вычислительных задач.
Для точного описания абстрактных структур данных и алгоритмов программ используются такие системы формальных обозначений, называемые языками программирования, в которых смысл всякого предложения определется точно и однозначно. Среди средств, представляемых почти всеми языками программирования, имеется возможность ссылаться на элемент данных, пользуясь присвоенным ему именем, или, иначе, идентификатором. Одни именованные величины являются константами, которые сохраняют постоянное значение в той части программы, где они определены, другие - переменными, которым с помощью оператора в программе может быть присвоено любое новое значение. Но до тех пор, пока программа не начала выполняться, их значение не определено.

Понятие структур данных и алгоритмов
Информация и ее представление в памяти

Природа информации
Хранение информации
Системы счисления
Непозиционные системы счисления
Позиционные системы счисления
Изображение чисел в позиционной системе счисления
Перевод чисел из одной системы счисления в другую
Классификация структур данных
Классификация структур данных
Операции над структурами данных

Структурность данных и технология программирования
Простые структуры данных
Структура простых типов pascal.
Целые типы
Представление в памяти.
Таблица 2.1
Машинное представление беззнаковых типов.

Формат машинного представления беззнаковых чисел
Машинное представление чисел со знаком.
Формат машинного представления чисел со знаком
Формат машинного представления данных типа comp
Вещественные типы
Представление вещественных чисел в памяти.
Формат представления вещественных чисел
Таблица 2.2
Таблица 2.3
Алгоритм формирования машинного...

Машинное представление данных типа real
Машинное представление данных типа single
Машинное представление данных типа double
Машинное представление данных типа extended
Десятичные типы
Десятичный тип с фиксированной точкой.
Машинное представление...
Тип шаблона.
Машинное представление...
Операции над числовыми типами

Битовые типы
Представление битовых типов.
Операции над битовыми типами.
Логический тип
Символьный тип
Логическая структура.
Машинное представление.
Операции.

Таблица 2.4
Указатели
Физическая структура указателя
Вычисление полного адреса в микропроцессоре i8086.
Представление указателей в языках программирования
Операции над указателями.
Статические структуры данных
Машинное представление. Адресация элементов структур.

Представление вектора в памяти
Представление вектора m1 в памяти
Таблица 3.1
Логическая структура
Физическая структура
Физическая структура...
Таблица 3.2
Операции
Адресация элементов с помощью векторов айлиффа
Представление массивов с помощью векторов айлиффа

Специальные массивы
Симметричные массивы.
Разреженные массивы.
Массивы с математическим описанием...
Разреженные массивы со случайным расположением элементов.
Представление разреженным матриц...
Последовательное представление разреженных матриц.
Представление разреженных матриц методом связанных структур.
Формат вершины для представления разреженных матриц
Многосвязная структура для представления матрицы a

Физическая структура.
Числовые множества
Таблица 3.3
Символьные множества
Множество из элементов перечислимого типа
Распределение памяти...
Множество от интервального типа
Представление переменной типа set of s
Операции над множествами

Логическое и машинное представление записей
Представление в памяти...
Представление в памяти...
Операции над записями
Записи с вариантами
Выделение памяти для записи с вариантами
Таблицы
Операции логического уровня...
Последовательный или линейный поиск
Бинарный поиск

Таблица 3.4
Операции логического уровня...
Сортировка простой выборкой.
Обменная сортировка простой выборкой.
Таблица 3.5
Пузырьковая сортировка.
Таблица 3.6
Сортировка шелла.
Таблица 3.7
Сортировка простыми вставками.

Пузырьковая сортировка вставками.
Таблица 3.8
Сортировка упорядоченным двоичным деревом.
Турнирная сортировка.
Пирамида турнирной сортировки
Пирамида после последовательных выборок
Сортировка частично упорядоченным деревом.
Частично упорядоченное дерево
Частично упорядоченное дерево, включение элемента
Частично упорядоченное дерево, исключение элемента

Поразрядная цифровая сортировка.
Таблица 3.9
Быстрая сортировка хоара.
Таблица 3.10
Сортировки слиянием.
Сортировка попарным слиянием.
Таблица 3.11
Характерные особенности полустатических структур
Логическая структура стека
Включение и исключение элементов из стека.

Машинное представление стека и реализация операций
Стеки в вычислительных системах
Логическая структура очереди
Машинное представление...
Очереди с приоритетами
Очереди в вычислительных системах
Логическая структура дека
Состояния дека в процессе изменения.

Деки в вычислительных системах

Деки в вычислительных системах
Логическая структура строки
Операции над строками
Представление строк в памяти.

Векторное представление строк.
Представление строк векторами постоянной длины
Представление строк вектором переменной...
Представление строк...
Представление строк вектором переменной длины со счетчиком.
Представление строк переменной длины со счетчиком
Вектор с управляемой длиной.
Представление строк вектором с управляемой длиной
Символьно - связное представление строк.
Однонаправленный линейный список.

Представление строки...
Двунаправленный линейный список.
Представление строки...
Блочно - связное представление строк.
Многосимвольные звенья фиксированной длины.
Представление строки...
Многосимвольные звенья переменной длины.
Представление строки...
Многосимвольные звенья с управляемой длиной.
Представление строки звеньями управляемой длины

Связное представление данных в памяти
Связные линейные списки
Машинное представление связных линейных списков
Структура односвязного списка
Структура двухсвязного списка
Структура кольцевого двухсвязного списка
Реализация операций над связными линейными списками
Перебор элементов списка.
Вставка элемента в список.
Вставка элемента в середину 1-связного списка

Вставка элемента в середину 2-связного списка
Вставка элемента в начало 1-связного списка
Удаление элемента из списка.
Удаление элемента из 1-связного списка
Удаление элемента из 2-связного списка
Перестановка элементов списка.
Перестановка соседних элементов 1-связного списка
Копирование части списка.
Перестановка соседних элементов 2-связного списка
Слияние двух списков.

Применение линейных списков
Мультисписки
Пример мультисписка
Основные понятия
Схематическое представление разветвленного списка
Порядок.
Глубина.
Схема списка, представляющего...
Представление списковых структур в памяти.
Структура элемента разветвленного списка

Структура элемента разветвленного списка
Структура элемента разветвленного списка
Пример представления...
Операции обработки списков
Язык программирования lisp
Управление динамически выделяемой памятью
Логическая структура, определения
Граф неориентированный (а) и ориентированный (б).
Графа и его матрица смежности
Матрицы путей

Матрицы инцидентности
Машинное представление оpгpафов
Матричное представление орграфов.
Связное представление орграфов.
Машинное представление графа элементами двух типов
Машинное представление графа однотипными элементами
Часть дорожной карты...
Основные определения
Дерево
Лес

Дерево
Логическое представление и изображение деревьев.
Метод вложенных скобок
Представление дерева...
Бинарные деревья.
Изображения бинарных деревьев
Представление любого дерева...
Исходное дерево
промежуточный результат перестройки дерева
Представление дерева в виде бинарного

Упорядоченный лес
Промежуточный результат перестройки леса
Представление леса в виде 2-го дерева
Машинное представление деревьев в памяти эвм.
Логическое представление дерева
Машинное связное представление...
Диаграммы дерева: а)...
Последовательное представление...
Последовательное представление...
Последовательное представление...

Основные операции над деревьями.
Поиск записи в дереве( find ).
Добавление нового узла ( dop ).
Обход дерева.
Схема дерева
Нисходящий обход (preorder, r_preorder).
Таблица 6.1
Рекурсивный нисходящий обход.
Cмешанный обход (inorder, r_inorder).
Таблица 6.2

Восходящий обход ( postorder, r_postorder ).
Рекурсивный смешанный обход
Процедуры обхода дерева, использующие стек.
Прошивка бинарных деревьев.
Иллюстрация
Машинное связное представление...
Таблица 6.3
Машинное связное представление...
Таблица 6.4.
Приложения деревьев.

деревья хаффмена (деревья минимального кодирования)
дерево хаффмена
деревья при работе с арифметическими выражениями
Манипулирование арифметическими выражениями.
представление выражения в виде дерева
представление выражения в виде бинарного дерева.
таблица символов
Процедура вычислений:
формирование таблиц символов.
Алготитм table.

Описание программы:
Иллюстрация
Определения.
Операция вставки вершины в сбалансированное дерево.
Принцип работы алгоритма.
последовательное включение...
Алгоритм insert_&_balanse включения...
Описание работы:
Текст процедуры insert_&_balanse.
Текст процедуры добавления элемента.

Операция удаления из сбалансированного дерева.
Пример удаления различных узлов из сбалансированного дерева.
а..h удаление узлов из сбалансированого дерева.
Алгоритм процедуры delete.
Описание работы алгоритма:
Алгоритм процедуры del.
Алгоритм процедуры balance_l.
Алгоритм процедуры balance_r.

Поиск элемента.
Алгоритм search.
Текст процедуры search.
Описание программы работы со сбалансированными деревьями.
Л и т е р а т у р а


Использование цвета в Adobe PageMaker

В этой публикации, посвященной использованию цвета в публикациях, рассматриваются следующие вопросы:
Назначение цветов объектам программы PageMaker при помощи палитры и диалогового окна Fill and Stroke (Фон и линия).
Назначение объектам точечных заливок — узоров.
Особенности назначения оттенков цвета.
Условные цвета.
Установка наложения цветов на печати.
Цвета импортированных объектов. Возможности редактирования цветов в зависимости от типа файла.
Общие правила назначения цветов с точки зрения дизайна.
Вы приступаете в "раскрашиванию" публикации. Это сделать почти так же просто, как разрисовать цветными карандашами детскую раскраску. Кое-какие правила все же имеются, и они рассмотрены в данной главе. Особенно это касается импортированных изображений, при редактировании цветов которых нужно учитывать тип файлов. Кроме того, немаловажен художественный аспект проблемы цвета в публикациях. Цвет — отличный инструмент дизайна, однако цветовое оформление должно соответствовать назначению публикации, стилю работы фирмы, выпускающей ее, и финансовым возможностям издательства. Выбор цветов должен производиться в соответствии со здравым смыслом и хорошим вкусом.

Использование цвета
Управление цветом и треппинг
Оригинал макет
Вывод оригинал макета
Сотрудничество с типографией
Работа над ошибками
Комбинации клавиш в PageMaker

Введение в локальные сети

Локальные сети в последнее время из модного дополнения к компьютерам все более превращаются в обязательную принадлежность любой компании, имеющей больше одного компьютера. Совершенствование аппаратуры и программных средств достигло такого уровня, когда установить и эксплуатировать простейшую сеть может практически любой более или менее грамотный пользователь, тем более что на рынке имеется множество книг, подробно описывающих процесс установки и обслуживания, а последние версии наиболее распространенной операционной системы Windows содержат в себе довольно развитые сетевые средства, так что даже покупать специальное сетевое программное обеспечение совсем не обязательно. То, что раньше было доступно только посвященным, только специально обученным профессионалам, теперь легко может проделать каждый.
Однако не каждый пользователь, который имеет дело с сетью, удовлетворяется той поверхностной информацией, которая содержится в большинстве популярных книг, отличающихся к тому же многословием и бессмысленным стремлением охватить все вопросы разом. Некоторым недостаточно знаний о том, как подключить сетевой адаптер к компьютеру, как соединить кабелем адаптер с концентратором и запустить программу совместного использования диска. Им интересно также знать, что же происходит внутри сети, как взаимодействуют между собой сетевые средства, какие алгоритмы они используют, чем отличаются друг от друга. У нас в стране довольно много людей с высшим и средним техническим образованием, которым хотелось бы дойти до самой сути сетевых технологий, до глубинных их механизмов. А тем, кто занимается разработкой оригинальных сетевых средств или методов нетрадиционного использования стандартного сетевого оборудования, подобные знания просто необходимы.

Введение
Определение локальных сетей и их топология
Кабели на основе витых пар
Пакеты, протоколы и методы управления обменом
Эталонная модель OSI
Сети Ethernet и Fast Ethernet
Защита информации в локальных сетях
Алгоритмы сети Ethernet/Fast Ethernet
Стандартные сегменты Ethernet и Fast Ethernet
Оборудование Ethernet и Fast Ethernet
Выбор конфигурации сетей Ethernet и Fast Ethernet
Проектирование сети Ethernet и Fast Ethernet
Подключение к глобальным сетям с помощью модемов
Организации, занимающиеся стандартизацией сетей

Сети компьютеров в вашем офисе

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

Первое знакомство
Копирование стартовых файлов Novell NetWare
Безопасность данных в Microsoft Windows for Workgroups