Информатика для юристов icon

Информатика для юристов




НазваИнформатика для юристов
Сторінка8/99
С.В. Симоновича
Дата03.06.2013
Розмір9.92 Mb.
ТипКнига
1   ...   4   5   6   7   8   9   10   11   ...   99
^

1.7. Основные структуры данных



Работа с большими наборами данных автоматизируется проще, когда данные упо­рядочены, то есть образуют заданную структуру. Существует три основных типа структур данных: линейная, иерархическая и табличная. Их можно рассмотреть на примере обычной книги.

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

Если же собрать все листы книги в правильной последовательности, мы получим простейшую структуру данных — линейную. Такую книгу уже можно читать, хотя для поиска нужных данных ее придется прочитать подряд, начиная с самого начала, что не всегда удобно.

Для быстрого поиска данных существует иерархическая структура. Так, напри­мер, книги разбивают на части, разделы, главы, параграфы и т. п. Элементы струк­туры более низкого уровня входят в элементы структуры более высокого уровня: разделы состоят из глав, главы из параграфов и т. д.

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


^ Линейные структуры (списки данных, векторы данных)


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

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


N п/п Фамилия, Имя, Отчество


1 Аистов Александр Алексеевич

2 Бобров Борис Борисович

3 Воробьева Валентина Владиславовна

……………………………………

27 Сорокин Сергей Семенович


Разделителем может быть и какой-нибудь специальный символ. Нам хорошо из­вестны разделители между словами — это пробелы. В русском и во многих евро­пейских языках общепринятым разделителем предложений является точка. В рас­смотренном нами классном журнале в качестве разделителя можно использовать любой символ, который не встречается в самих данных, например символ «*». Тогда наш список выглядел бы так:


Аистов Александр Алексеевич * Бобров Борис Борисович * Воробьева Валентина Владиславовна * ... * Сорокин Сергей Семенович


В этом случае для розыска элемента с номером п надо просмотреть список начи­ная с самого начала и пересчитать встретившиеся разделители. Когда будет отсчи­тано п-1 разделителей, начнется нужный элемент. Он закончится, когда будет встречен следующий разделитель.

Еще проще можно действовать, если все элементы списка имеют равную длину. В этом случае разделители в списке вообще не нужны. Надо просмотреть список с самого начала и отсчитать n-1 элемент. Со следующего символа начнется нужный элемент. Поскольку его длина известна, то его конец определить нетрудно. Такие упрощенные списки, состоящие из элементов равной длины, называют векторами данных. Работать с ними особенно удобно.

Таким образом, линейные структуры данных (списки) — это упорядоченные струк­туры, в которых адрес элемента однозначно определяется его номером.


Табличные структуры (таблицы данных, матрицы данных)


С таблицами данных мы тоже хорошо знакомы, достаточно вспомнить всем извест­ную таблицу умножения. Табличные структуры отличаются от списочных тем, что элементы данных определяются адресом ячейки, который состоит не из одного пара­метра, как в списках, а из нескольких. Для таблицы умножения, например, адрес ячейки определяется номерами строки и столбца. Нужная ячейка находится на их пересечении, а элемент выбирается из ячейки.

При хранении табличных данных количество разделителей должно быть больше, чем для данных, имеющих структуру списка. Например, когда таблицы печатают в книгах, строки и столбцы разделяют графическими элементами — линиями верти­кальной и горизонтальной разметки (рис. 1.10).





Рис. 1.10. В двумерных таблицах, которые печатают в книгах, применяются два типа разделителей — вертикальные и горизонтальные


Если нужно сохранить таблицу в виде длинной символьной строки, используют один символ-разделитель между элементами, принадлежащими одной строке, и другой разделитель для отделения строк, например так:


Нью-Йорк*696115*3437202*7 891957*7071639 # Лос-Анжелес* 1610* 102479*1970 358*2966850


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

Еще проще можно действовать, если все элементы таблицы имеют равную длину. Такие таблицы называют матрицами. В данном случае разделители не нужны, поскольку все элементы имеют равную длину.

Таким образом, табличные структуры данных (матрицы) — это упорядоченные структуры, в которых адрес элемента определяется номером строки и номером столбца, на пересечении которых находится ячейка, содержащая искомый элемент.

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


Номер факультета: 3

Номер курса (на факультете): 2

Номер специальности (на курсе): 2

Номер группы в потоке одной специальности: 1

Номер учащегося в группе: 19


Размерность такой таблицы равна пяти, и для однозначного отыскания данных об учащемся в подобной структуре надо знать все пять параметров (координат).


^ Иерархические структуры данных


Нерегулярные данные, которые трудно представить в виде списка или таблицы, часто представляют в виде иерархических структур. С подобными структурами мы очень хорошо знакомы по обыденной жизни. Иерархическую структуру имеет система почтовых адресов. Подобные структуры также широко применяют в науч­ных систематизациях и всевозможных классификациях (рис. 1.11).




Рис. 1.11. Пример иерархической структуры данных


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


Пуск Программы Стандартные Калькулятор.


Упорядочение структур данных


Списочные и табличные структуры являются простыми. Ими легко пользоваться, поскольку адрес каждого элемента задается числом (для списка), двумя числами (для двумерной таблицы) или несколькими числами для многомерной таблицы. Они также легко упорядочиваются. Основным методом упорядочения является сортировка. Данные можно сортировать по любому избранному критерию, напри­мер: по алфавиту, по возрастанию порядкового номера или по возрастанию какого-либо параметра.

Несмотря на многочисленные удобства, у простых структур данных есть и недо­статок — их трудно обновлять. Если, например, перевести студента из одной группы в другую, изменения надо вносить сразу в два журнала посещаемости; при этом в обоих журналах будет нарушена списочная структура. Если переведенного сту­дента вписать в конец списка группы, нарушится упорядочение по алфавиту, а если его вписать в соответствии с алфавитом, то изменятся порядковые номера всех студентов, которые следуют за ним.

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

Иерархические структуры данных по форме сложнее, чем линейные и табличные, но они не создают проблем с обновлением данных. Их легко развивать путем созда­ния новых уровней. Даже если в учебном заведении будет создан новый факуль­тет, это никак не отразится на пути доступа к сведениям об учащихся прочих факуль­тетов.

Недостатком иерархических структур является относительная трудоемкость записи адреса элемента данных и сложность упорядочения. Часто методы упорядочения в таких структурах основывают на предварительной индексации, которая заклю­чается в том, что каждому элементу данных присваивается свой уникальный индекс, который можно использовать при поиске, сортировке и т. п. После такой индекса­ции данные легко разыскиваются по двоичному коду связанного с ними индекса.

С примерами индексации вы, конечно, знакомы. Обычная книга (например такая, как эта) имеет иерархическую структуру. Алфавитный указатель в конце книги — это пример индекса. С его помощью можно найти страницу, соответствующую нужному термину, не прибегая к просмотру всего содержания.


^ Адресные данные


Если данные хранятся не как попало, а в организованной структуре (причем любой), то каждый элемент данных приобретает новое свойство (параметр), которое можно назвать адресом. Конечно, работать с упорядоченными данными удобнее, но за это приходится платить их размножением, поскольку адреса элементов данных — это тоже данные; и их тоже надо хранить и обрабатывать.

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

1   ...   4   5   6   7   8   9   10   11   ...   99

Схожі:

Информатика для юристов iconEccle для европейских юристов
Программа предназначена для молодых юристов и специалистов, которая предоставляет уникальную возможность получить образование и профессиональные...
Информатика для юристов iconLegal Source
Это отличный источник информации для юристов, ученых, предпринимателей, библиотекарей, студентов-юристов, практикующих адвокатов...
Информатика для юристов iconКонкурс на участие в дистанционном обучении адвокатов/юристов
Объявляется набор для участия в программе дистанционного обучения адвокатов и юристов международному праву прав человека
Информатика для юристов iconЛетняя программа eccle для европейских юристов
Программа предоставляет возможность получить знания и профессиональные навыки для молодых юристов и специалистов. Летняя программа...
Информатика для юристов iconМетодические указания для выполнения лабораторных, самостоятельных и контрольных работ по курсу «Информатика и компьютерная техника»
«Информатика и компьютерная техника» (для студентов 1-го и 2-го курсов заочной формы обучения образовательно-квалификационного уровня...
Информатика для юристов iconМетодические указания к выполнению самостоятельной работы по дисциплине «информатика и системология»
«Информатика и системология» (для студентов 1 курса дневной формы обучения направления 040106 «Экология, охрана окружающей среды...
Информатика для юристов iconУчебные пособия по дисциплинам «Информатика в Украине» и«Математика»
В этом году у вас появилась возможность стать первыми студентами факультета компьютерных наук и технологий Доннту по направлению...
Информатика для юристов iconКонспект лекций для студентов заочной формы обучения направления 080201 (Информатика) Сумы, 2007 Содержание
Предлагаемый конспект лекций представляет собой пособие по предмету “Теория информации”, который читается в Сумском государственном...
Информатика для юристов iconСтипендиальные программы для юристов, университет Стратклайда, Великобритания Окончательный термин подачи документов
Иностранные студенты, поступающие на программы магистратуры (research) и аспирантуры юридического факультета могут претендовать на...
Информатика для юристов iconМетодические указания к практическим занятиям " Обработка данных медицинских исследований в Excel" по дисциплине "Медицинская информатика" специальности 110101 "Лечебное дело" для иностранных студентов дневной формы обучения
Методические указания к практическим занятиям “Обработка данных медицинских исследований в Excel” по дисциплине “Медицинская информатика”...
Додайте кнопку на своєму сайті:
Документи


База даних захищена авторським правом ©zavantag.com 2000-2013
При копіюванні матеріалу обов'язкове зазначення активного посилання відкритою для індексації.
звернутися до адміністрації
Документи