
- •Алгоритм бинарного поиска элемента в массиве.
- •Алгоритм линейного поиска элемента в массиве.
- •Алгоритм порождения двоично-отраженного кода Грэя.
- •Алгоритм сортировки выбором.
- •Алгоритмы порождения кодовых слов в порядке двоичного счета.
- •Алгоритмы сортировки массивов.
- •Атд очередь. Операторы очереди.
- •Вторая нормальная форма отношений.
- •Определение оптимального основания кода.
- •Основные определения теории графов.
- •Понятие избыточности текста. Оценка избыточности текста.
- •Понятие информации, экономической информации. Классификация экономической информации.
- •Понятие модели данных, атрибута, составной единицы информации, показателя, документа.
- •Понятие сигнала. Дискретизация сигналов. Выбор частоты дискретизации непрерывного сигнала. Теорема Котельникова (без доказательства).
- •Реализация списков с помощью указателей.
- •Реляционная модель данных. Отношения. Первая нормальная форма отношений. Универсальное отношение. Нормализация отношений.
- •Состав и структура единой системы классификации и кодирования.
- •Структурный и объектно-ориентированный подходы к проектированию. Жизненный цикл эис.
- •Фонетический поиск.
- •Хранение графа с помощью массива ребер и списка ребер.
- •Хранение графа с помощью массивов смежности.
- •Хранение графа с помощью матрицы инцидентности.
- •Хранение графа с помощью матрицы смежности.
- •Хранение графа с помощью списков смежности.
- •Хранение ориентированного дерева с помощью массива.
- •Штриховое кодирование. Структура штрих-кода в формате ean-13.
Хранение графа с помощью массивов смежности.
Объем памяти можно существенно уменьшить, если упаковывать матрицы в массивы смежности. Пример упаковки рассмотренной матрицы весов (табл. 2.6) в массивы приведен на рис. 2.19.
Упаковка осуществляется с помощью трех массивов: S, V и U. Заполнение массивов S и V осуществляется путем построчного просмотра матрицы. При просмотре текущей строки матрицы в массиве S сохраняются номера столбцов, содержащие значения, отличные от , сами значения сохраняются в массиве V. Массив U служит для разграничения информации в массивах S и V, i-ый элемент массива U содержит индекс массивов S и V, с которого начинается информация, относящаяся к i-ой строке матрицы. Таким образом, для нахождения вершин, смежных i-ой вершине, и весов соответствующих дуг по массивам смежности необходимо вычислить начальный In и конечный Ik индексы в массивах V и S по формулам: In=Ui; Ik=Ui+1-1. Тогда SIn,SIn+1,…,SIk - вершины, смежные i-ой вершине, VIn,VIn+1,…,VIk – длины дуг (i,SIn),(i,SIn+1,),…,(i,SIk). Если Ik=Ui+1-1 окажется меньше In=Ui, то это означает, что i-я строка матрицы весов содержит одни , т.е. i-я вершина не имеет смежных вершин.
Для хранения упакованной таким образом матрицы весов понадобится 43 ячейки памяти, занимаемых массивами V,S и U. Неупакованная матрица занимала 1010=100 ячеек памяти.
Если упаковывается матрица смежности, то массив V не нужен.
Таблица 2.6. |
|||||||||
Матрица весов графа, изображенного на рис.2.18 |
|||||||||
|
10 |
12 |
|
30 |
|
|
|
|
|
|
|
|
10 |
|
10 |
|
|
|
|
|
|
|
10 |
|
20 |
|
|
|
|
|
|
|
|
|
|
10 |
|
15 |
|
|
|
|
|
|
|
8 |
10 |
|
|
|
|
|
|
|
|
8 |
10 |
|
|
|
|
|
|
|
|
|
|
|
10 |
|
|
|
|
|
|
|
|
|
9 |
|
|
|
|
|
|
|
|
|
5 |
|
|
|
|
|
|
|
|
|
|
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
|
|
V |
10 |
12 |
30 |
10 |
10 |
10 |
20 |
10 |
15 |
8 |
10 |
8 |
10 |
10 |
9 |
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
S |
2 |
3 |
5 |
4 |
6 |
4 |
6 |
7 |
9 |
7 |
8 |
7 |
8 |
10 |
10 |
10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
U |
1 |
4 |
6 |
8 |
10 |
12 |
14 |
15 |
16 |
17 |
17 |
|
|
|
|
|
|
|
Рис.2.19. Упаковка матрицы весов (табл. 2.6) в массивы смежности |