71_图的定义与操作

2018-07-29  本文已影响16人  编程半岛

关键词:图的定义、无向边与无向图、无向边与无向图、顶点邻接(Adjacent)的定义、度(Degree)的定义、 权(Weigh)的定义、图的一些常用操作、 图的继承关系

0. 图的定义

图是由顶点集合(Vertex)及顶点间的关系集合(Edge)组成的一种数据结构:Graph=(V, E)

1. 无向边与无向图

2. 有向边与有向图

3. 顶点邻接(Adjacent)的定义

4. 度(Degree)的定义

5. 权(Weigh)的定义

6. 图的一些常用操作

7. 图的继承关系

template < typename T, typename E >
class Graph : public Object
{
public:
    virtual V getVertex(int i) = 0;
    virtual bool getVertex(int i, V& value) = 0;
    virtual bool setVertex(int i, const V& value) = 0;
    virtual SharedPointer< Array<int> > getAdjacent(int i) = 0;
    virtual E getEdge(int i, int j) = 0;
    virtual bool getEdge(int i, int j, E& value) = 0;
    virtual bool setEdge(int i, int j, const E& value) = 0;
    virtual bool removeEdge(int i, int j) = 0;
    virtual int vCount() = 0;
    virtual int eCount() = 0;
    virtual int OD(int i) = 0;
    virtual int ID(int i) = 0;

    virtual int TD(int i)
    {
        return OD(i) + ID(i);
    }

};

8. 小结

声明:此文章仅是本人在学习狄泰学院《数据结构实战开发教程》所做的笔记,文章中包含狄泰软件资料内容,一切版权归狄泰软件所有!
实验环境:ubuntu10 + Qt Creator2.4.1 + Qt SDK 4.7.4

上一篇 下一篇

猜你喜欢

热点阅读