zoukankan      html  css  js  c++  java
  • 算法

    以下纯粹个人观点,如有错误望指出

    术语表:

    图的应用:地图、计算机网络、电路、任务调度等;

    4种最重要的图模型:无向图(简单连接)、有向图(连接有方向性)、加权图(连接带有权值)和加权有向图(连接带有方向又带有权值)

    无向图

    定义:图是由一组顶点和一组能够将两个顶点相连的边组成的

    度数:某个顶点的度数即为依附于它的边的总数

    路径:在图中,路径是由边顺序连接的一系列顶点。

    简单路径:简单路径是一条没有重复顶点的路径。

    环:环是一条至少含有一条边且起点和终点相同的路径。

    简单环:简单环是一条(除了起点和终点必须相同之外)不含有重复顶点和边的环。路径或者环的长度为其中所包含的边数。

    连通图:如果从任意一个顶点都存在一条路径到达另一个任意顶点,我们称这幅图是连通图。一
    幅非连通的图由若干连通的部分组成,它们都是其极大连通子图。

    图的密度:图的密度是指已经连接的顶点对占所有可能被连接的顶点对的比例。

    在稀疏图中,被连接的顶点
    对很少;而在稠密图中,只有少部分顶点对之间没有边连接。一般来说,如果一幅图中不同的边的数
    量只占顶点总数V 的一小部分,那么我们就认为这幅图是稀疏的,否则则是稠密的

    二分图:二分图是一种能够将所有结点分为两部分的图,其中图的每条边所连接的两个顶点都分别属于不
    同的部分

    一种表示图的数据类型的API 及其实现:

    public class Graph 无向图结构定义

    Graph(int V) 创建一个含有V个顶点但不包含边的无向图

    Graph (In in)从标准输入流中读取一幅图

    int V() 顶点数

    int E() 边数

    void addEdge(int v,int w)向图中增加一条边 v-w

    Iterable<Integer> adj(int v) 和v相邻的所有顶点

    String toString() 对象的字符串表示

     图的表示方法:单链表

    一些查找图和鉴别连通分量的经典算法:

  • 相关阅读:
    IDE-Sublime【3】-配置Node.js开发环境
    Java-Android【2】-弹出对话框
    Node.js-中文分词【1】-node-segment
    Java-Android【1】-控制手机震动
    IDE-Sublime【2】-代码智能提示插件SublimeCodeIntel的安装
    Node.js-安装配置【1】-在Windows XP系统配置环境变量
    Node.js-部署【1】-防火墙端口的配置
    Node.js-npm【1】-常用命令
    Node.js-视图引擎【1】-Swig集成express的安装与配置
    NoSQL-Redis【2】-HDEL给我的一个惊喜
  • 原文地址:https://www.cnblogs.com/myfield/p/4918081.html
Copyright © 2011-2022 走看看