пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

Динамические структуры данных (ДСД). Назначение, особенности. Списки, определение, виды. Особенности реализации односвязных и двусвязных списков. Задача об алфавитно-частотном словаре (АЧС). Общий алгоритм работы со списком для решения задачи об АЧС.

            Строение ДСД: набор узлов, объединенных с помощью ссылок. Вид узла: Данные+ссылки на другие узлы. Типы структур: Списки, деревья, графы.

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

type PNode = ^Node;   { указатель на узел } 

            Node = record            { структура узла }

            word: string[40]; { слово }

            count: integer;   { счетчик повторений }

            next: PNode;              { ссылка на следующий }

            end;

Задача об АЧС: В файле записан текст.  Нужно записать в другой файл в столбик все слова,     встречающиеся в тексте, в алфавитном порядке, и количество повторений для каждого слова.

Проблемы:

1)количество слов заранее неизвестно (статический массив);

2)количество слов определяется только в конце работы (динамический массив).

Решение – список. Алгоритм:

1)создать список;

2)если слова в файле закончились, то стоп.

3)прочитать слово и искать его в списке;

4)если слово найдено – увеличить счетчик повторений,

иначе добавить слово в список;

5)перейти к шагу 2.

 

Для решения необходимо:
1.Создать новый узел.

2.Добавить узел:

а) в начало списка;

б) в конец списка;

в) после заданного узла;

г) до заданного узла.

3.Искать нужный узел в списке.

4.Удалить узел.

18.           


22.01.2015; 17:44
хиты: 214
рейтинг:0
Точные науки
информатика
Языки программирования
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь