ргр по алгоритмам и структурам данных. АиСД РГР, ключников. Разработка атд Простой граф
Скачать 135.4 Kb.
|
5.1. Формат АТД «дескриптор ребра»Дескриптор ребра представляет собой набор информации ассоциированной с ребром. Он хранит в себе номера вершин ребра, данные и вес типов, заданных пользователем. ДАННЫЕ: Параметры: VertexDescriptor – дескриптор исходящей вершины VertexDescriptor - дескриптор входящей вершины Weight - вес ребра Data – данные, связанные с ребром ОПЕРАЦИИ: Конструктор Вход: дескриптор входящей и исходящей вершин Предусловия: нет Процесс: создание дескриптора ребра Выход: нет Постусловия: создан дескриптор ребра с переданными параметрами Конструктор Вход: дескриптор входящей и исходящей вершин, weight – вес Предусловия: нет Процесс: создание дескриптора ребра Выход: нет Постусловия: создан дескриптор ребра с переданными параметрами Конструктор Вход: дескриптор входящей и исходящей вершин, weight – вес, data - данные Предусловия: нет Процесс: создание дескриптора ребра Выход: нет Постусловия: создан дескриптор ребра с переданными параметрами Опрос исходящей вершины Вход: нет Предусловия: нет Процесс: чтение дескриптора исходящей вершины Выход: дескриптор вершины, из которой ребро выходит Постусловия: нет Опрос входящей вершины Вход: нет Предусловия: нет Процесс: считывание дескриптора входящей вершины Выход: дескриптор вершины, в которое ребро входит Постусловия: нет Проверка исхода ребра из заданной вершины Вход: VDescriptor – дескриптор вершины Предусловия: индекс исходящей вершины равен индексу вершины, заданной дескриптором VDescriptor Процесс: сравнение индексов исходящей вершины ребра и переданной Выход: true – вершина является исходящей (индексы совпали), false - в противном случае Постусловия: нет Опрос вершины, связанной с заданной вершиной данным ребром Вход: VDescriptor – дескриптор вершины Предусловия: ребро содержит вершину, заданную дескриптором VDescriptor Процесс: чтение дескриптора второй вершины Выход: дескриптор другой вершины Постусловия: нет Опрос веса ребра Вход: нет Предусловия: нет Процесс: считывание веса ребра Выход: вес ребра Постусловия: нет Задание веса ребра Вход: новый вес Предусловия: нет Процесс: задание нового веса ребру Выход: нет Постусловия: нет Опрос данных ребра Вход: нет Предусловия: нет Процесс: считывание данных ребра Выход: данные ребра Постусловия: нет Задание данных ребра Вход: новые данные Предусловия: нет Процесс: задание новых данных ребру Выход: нет Постусловия: изменились данные ребра КОНЕЦ АТД 5.2. Клиентское определение класса «дескриптор ребра»class Edge public Edge(Vertex public Edge(Vertex public Edge(Vertex public Vertex public Vertex public Vertex public TWeight Weight; public TEdge Data; public bool from(Vertex public Vertex public TWeight GetW() public void SetW(TWeight W) public TEdge GetD() public void SetD(TEdge D) |