• 一,图

    1. 思维导图

    1.

    1. 导图中的联系
      1. 连通图有n个顶点和e条边,其中n-1条边和e个顶点一个构成极小的强连通图,称该极小连通子图为此连通图的生成树
      2. 最小生成树、最短路径、关键路径与权有关
      3. Prim和Dijkstra:要计算某顶点加入以后是否改变lowest[]/dist[]的值;不过Prim是比较新加入的顶点是否与未加入顶点之间边的权值更小,而Dijkstra看的是源点是否能经由新加入的点拥有前往别的点的更小的路径

    2. 基本概念

    1. 基本术语:

      1. 完全图(n个顶点和e条边):e=n(n-1)/2;

      2. 有向完全图(n个顶点和e条弧):e=n(n-1);

      3. 稀疏图与稠密图:e<nlogn ,为稀疏图;反之,为稠密图

      4. 邻接点:在同一条边/弧上的顶点

      5. 网络:带权的图

      6. 简单路径:序列号中的顶点不重复

      7. 简单回路:序列号中的第一个顶点和最后一个顶点相同的路径

      8. 连通图与连通分量(无向图里):

        1. 连通图:无向图中任意两个顶点之间都有路径相连
        2. 连通分量:若无向图为非连通图,图中各极大连通子图称为此图的连通分量
      9. 强连通图和强连通分量:

        1. 强连通图:有向图中任意两个顶点之间都有有向路径相连
        2. 强连通分量:有向图中图中各强连通子图称为此图的强连通分量
    2. 图的存储结构;

      1. 邻接矩阵:
        1. 无向图的邻接矩阵是对称的;有向图的邻接矩阵可能不对称
    3. 遍历:

      1. DFS:从某个顶点出发,递归进行DFS
    4. 最小生成树(n个顶点,e=n-1):

      1. Prim:不断加点
      2. Kruskal:在点上加边
    5. 拓扑排序与AOV网(顶点为活动,有向边表示活动优先关系):重复以下操作,将入度为0的点加入拓扑序列中,并把每个它的邻接点入度减一,直到点都在拓扑序列中

    6. 关键路径与AOE网(有向边为活动,顶点为事件):

      1. 事件vi的最早发生时间:ve(j)=max{ve(i)+dut(<i,j>)};

      2. 事件vi的最迟发生时间:vl(i)=min{vl(j)-dut(<i,j>);

      3. 活动ai的最早开始时间:e(i)=ve(i);

      4. 活动ai的最晚开始时间: l(i);

      5. 关键活动(l(i)=e(i)):现有弧<j,k>弧的权值为dut(<j,k>)

        1. ve(i)=e(j);
        2. l(i)=vl(k)-dut(<j,k>)

    3. 问题+解决方案

    1. pta图着色问题计算总颜色数/一个序列里计算出现了多少种数

      1. 方案1(可能会超时):

                     cin >> a[i];
        			for (j = 1; j <i; j++) {
        				if (a[i] == a[j] ) {
        					flag1 = 0;
        					break;
        				}
        			}
        			if (flag1) {
        				count++;
        			}
        
      2. 方案2:

                 int a[501] = { 0 }, b[501] = { 0 }, c[501] = { 0 };
        		for (i = 1; i <= v; i++) {
        			cin >> a[i];
        			b[a[i]]++;//计算每种颜色的数量
        			if (b[a[i]] == 1) {
        				count++;
        			}
        
        		}
        
  • 相关阅读:
    spring mvc技术
    转 easyUI的iframe子页面操作父页面元素
    DG
    SqlServer数据库分离附加操作
    SqlServer2008系统数据库的作用和特点
    Oracle基础学习记录1.0
    聚集索引与非聚集索引
    苹果官方 Crash文件分析方法 (iOS系统Crash文件分析方法)
    iOS Crash文件的解析
    在同一台电脑上使用两个github账户
  • 原文地址:https://www.cnblogs.com/tylk/p/12883904.html
Copyright © 2020-2023  润新知