当前位置: 首页 > news >正文

最新的高端网站建设公众号的微网站开发

最新的高端网站建设,公众号的微网站开发,海外sns网站,家具网站php源码转自大佬博客https://blog.csdn.net/ACdreamers/article/details/16902023 我们首先来看一下什么是前向星. 前向星是一种特殊的边集数组,我们把边集数组中的每一条边按照起点从小到大排序,如果起点相同就按照终点从小到大排序, 并记录下以某个点为起点的所有边在数组中的起始位… 转自大佬博客https://blog.csdn.net/ACdreamers/article/details/16902023 我们首先来看一下什么是前向星.   前向星是一种特殊的边集数组,我们把边集数组中的每一条边按照起点从小到大排序,如果起点相同就按照终点从小到大排序, 并记录下以某个点为起点的所有边在数组中的起始位置和存储长度,那么前向星就构造好了.   用len[i]来记录所有以i为起点的边在数组中的存储长度. 用head[i]记录以i为边集在数组中的第一个存储位置.   那么对于下图:       我们输入边的顺序为:   1 2 2 3 3 4 1 3 4 1 1 5 4 5   那么排完序后就得到:   编号:     1      2      3      4      5      6      7 起点u:    1      1      1      2      3      4      4 终点v:    2      3      5      3      4      1      5   得到:   head[1] 1    len[1] 3 head[2] 4    len[2] 1 head[3] 5    len[3] 1 head[4] 6    len[4] 2   但是利用前向星会有排序操作,如果用快排时间至少为O(nlog(n))     如果用链式前向星,就可以避免排序.   我们建立边结构体为:   struct Edge {      int next;      int to;      int w; };   其中edge[i].to表示第i条边的终点,edge[i].next表示与第i条边同起点的下一条边的存储位置,edge[i].w为边权值.   另外还有一个数组head[],它是用来表示以i为起点的第一条边存储的位置,实际上你会发现这里的第一条边存储的位置其实 在以i为起点的所有边的最后输入的那个编号.   head[]数组一般初始化为-1,对于加边的add函数是这样的: 1 void add(int u,int v,int w) 2 { 3 edge[cnt].w w; 4 edge[cnt].to v; 5 edge[cnt].next head[u]; 6 head[u] cnt; 7 } 8 初始化cnt 0,这样,现在我们还是按照上面的图和输入来模拟一下:     edge[0].to 2;     edge[0].next -1;      head[1] 0; edge[1].to 3;     edge[1].next -1;      head[2] 1; edge[2].to 4;     edge[2],next -1;      head[3] 2; edge[3].to 3;     edge[3].next 0;       head[1] 3; edge[4].to 1;     edge[4].next -1;      head[4] 4; edge[5].to 5;     edge[5].next 3;       head[1] 5; edge[6].to 5;     edge[6].next 4;       head[4] 6;   很明显,head[i]保存的是以i为起点的所有边中编号最大的那个,而把这个当作顶点i的第一条起始边的位置.   这样在遍历时是倒着遍历的,也就是说与输入顺序是相反的,不过这样不影响结果的正确性. 比如以上图为例,以节点1为起点的边有3条,它们的编号分别是0,3,5   而head[1] 5   我们在遍历以u节点为起始位置的所有边的时候是这样的:   for(int ihead[u];~i;iedge[i].next)   那么就是说先遍历编号为5的边,也就是head[1],然后就是edge[5].next,也就是编号3的边,然后继续edge[3].next,也 就是编号0的边,可以看出是逆序的.   转载于:https://www.cnblogs.com/moomcake/p/9879142.html
http://www.pierceye.com/news/336527/

相关文章:

  • 做网站用什么系统做网站开发电脑配置
  • 企业网站推广的主要方法上海中汇建设发展有限公司网站
  • 郑州做网站公司电话网站是否有管理员权限
  • 开发建设信息的网站广东省建设厅的注册中心网站首页
  • 用cms做的网站 的步骤有域名如何做网站
  • h5个人网站源码江苏启安建设集团有限公司网站
  • 网站开发net教程网站后台登陆路径
  • 织梦网站模板安装教程国外设计有名网站
  • 最专业企业营销型网站建设南充 网站开发
  • 国外有哪些网站做推广的比较好北京展览馆网站建设
  • 国外英语写作网站网站后台 刷新
  • 如何制作自己的网站详情页设计
  • 南京免费自助建站模板wordpress 增加侧边栏
  • 做信息分类网站难吗广告设计公司有哪些
  • 做seo网站优化多少钱网站开发客户哪里找
  • 做网站一定要云解析吗海南公司注册网站
  • 建站之家官网办公装修设计
  • 永康网站建设的公司wordpress 图片分类
  • 网站商务通弹出窗口图片更换设置wordpress4.9 多站点
  • 如何仿制一个网站注册商标设计
  • 网站建设属于什么岗位旅游网站设计模板
  • 自己做的网站怎么链接火车头采集软件开发模型是什么
  • 新网站怎么做才会被收录正品海外购网站有哪些
  • 广东手机网站建设品牌js制作网页计算器
  • 化隆网站建设公司学做网站多久
  • 网站域名如何查询上海室内设计公司哪家好
  • 电子书推送网站怎么做新做的网站如何
  • 网站建设图片怎么加水印电商平台网站建设功能介绍
  • 一个门户网站怎么做金坛网站建设哪家好
  • 大学网站建设图江苏廉政建设网站