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

网站建设销售销售流程/商丘 峰少 seo博客

网站建设销售销售流程,商丘 峰少 seo博客,上海网站推广优化公司,网站建设 python注意: 有环无环的时候注意看箭头方向 不要看见成环就当成是有环了 _____________________________________________________________________________ 出度,入度: 无向图: 直接看图说:从1到0也可以 从0到1也可以 …

 注意:

 有环无环的时候注意看箭头方向

不要看见成环就当成是有环了

_____________________________________________________________________________

出度,入度:

 无向图:

直接看图说:从1到0也可以  从0到1也可以  这是没有方向的 叫做无向图

 

平行边:

如图:有向图的有向边 平行边 

 

无向完全图:

 

这个权值最好是泛型的 那样通用一点,,,,,

 连通分量:

 

 邻接矩阵:

 对于边数组:两个顶点能达到则为1  不能则为0

 

无穷大  这个符号可以理解为没有这个边。。。,,,,, 

这种方式起到了节省空间的作用  ,。。。没有存在边的都省略了,,,,,

不会再开辟空间取存储0.。。 

 

我们使用邻接表进行实现

代码如下:

测试类 : 

通过addEdge 来实现模拟出这一个图形: 

实现类:

package 图;import java.util.*;public class ListGraph<V,E> implements Graph<V,E>{private Map<V,Vertex<V,E>> vertices=new HashMap<>();private Set<Edge<V,E>> edges=new HashSet<>();@Overridepublic int EdgesSize() {return edges.size();}@Overridepublic int VerticesSize() {return vertices.size();}@Overridepublic void addVertex(V v) {if(vertices.containsKey(v)){return;}//v这个顶点上存储的值相当于key  这个顶点new Vertex<>(v) 相当于valuevertices.put(v,new Vertex<>(v));}@Overridepublic void addEdge(V from, V to, E weight) {//增加的边的起点 get()返回值为V类型  看这个点以前有没有加过//有的话返回对应value  无则返回nullVertex<V,E> fromVertex=vertices.get(from);if(fromVertex==null){fromVertex=new Vertex<>(from);//把这个对象存入  from相当于key  fromVertex这个起始顶点对象相当于Map中的valuevertices.put(from,fromVertex);}//增加边的终点Vertex<V,E> toVertex=vertices.get(to);if(toVertex==null){toVertex=new Vertex<>(to);//把这个对象存入  from相当于key  toVertex相当于Map中的valuevertices.put(to,toVertex);}Edge<V,E> edge=new Edge<>(fromVertex,toVertex);edge.weight=weight;if(fromVertex.outEdges.contains(edge)){fromVertex.outEdges.remove(edge);toVertex.outEdges.remove(edge);}fromVertex.outEdges.add(edge);toVertex.inEdges.add(edge);}@Overridepublic void addEdge(V from, V to) {addEdge(from,to,null);}@Overridepublic void removeEdge(V from, V to) {Vertex<V,E> fromVertex=vertices.get(from);if(fromVertex==null){return;}Vertex<V,E> toVertex=vertices.get(to);if(toVertex==null){return;}Edge<V,E> edge=new Edge<>(fromVertex,toVertex);if(fromVertex.outEdges.remove(edge)){toVertex.inEdges.remove(edge);edges.remove(edge);}}@Overridepublic void removeVertex(V v) {}/*** 创建内部类 用来存储属性信息* 这个节点是不对外公开的 只能传进来V E*///顶点private static class Vertex<V,E> {V value;//表示点上面对应的值 应该是泛型 可能表示微信好友之类的等等泛型对象可能/*** inEdges表示以Vertex这个点为 从它这里进来的边  就是以这个点为终点的边** outEdges表示从它这里出去的边  就是以这个点为起点的边** 因为inEdges outEdges这里面存放的是边对象Edge<V,E>*/Set<Edge<V,E>> inEdges=new HashSet<>();Set<Edge<V,E>> outEdges=new HashSet<>();public Vertex(V value) {this.value=value;}@Overridepublic int hashCode() {return value==null?0:value.hashCode();}/***比较传进来的obj与自身value是否相同*/@Overridepublic boolean equals(Object obj) {return Objects.equals(value,((Vertex<V,E>)obj).value);}}//边private static class Edge<V,E>{Vertex<V,E> from;//边要有一个起点Vertex<V,E> to;//边要有一个终点E weight;//边要有一个权重public Edge(Vertex<V,E> from, ListGraph.Vertex<V,E> to) {this.from = from;this.to = to;}@Overridepublic int hashCode() {return from.hashCode()*31+ to.hashCode();}@Overridepublic boolean equals(Object obj) {ListGraph.Edge<V,E> edge=((ListGraph.Edge<V, E>)obj);return Objects.equals(from,edge.from)&&Objects.equals(to,edge.to);}}}

接口:

package 图;public interface Graph<V,E>{int EdgesSize();//边数int VerticesSize();//顶点数void addVertex(V v);//增加顶点void addEdge(V from,V to,E weight);void addEdge(V from,V to);//可能有权重 也可能不增加权重void removeVertex(V v);void removeEdge(V from,V to);
}

其他的还没写完 

准备把哈希表再学一遍再学图,,,,

未完待续。。。。。这两天有其他任务了,,,,,,

第八个第5min

http://www.lbrq.cn/news/1428679.html

相关文章:

  • 怎样给公司做网站/网络营销的渠道有哪些
  • 农家乐网站建设营销方案/百度电脑端网页版入口
  • 手机网站绑定域名是什么意思/快速排名官网
  • 大数据比赛网站建设/台州seo网站排名优化
  • 网站发帖推广平台/公司网站设计模板
  • php网站怎么做/seo排名助手
  • 网络规划设计师试题/百度网站排名关键词整站优化
  • 做游戏的av迅雷下载网站有哪些/成人大学报名官网入口
  • 网站建设的流程分析/公司网站推广运营
  • aspcms自适应网站/查域名ip地址查询
  • 免费域名如何建站/手机网站模板下载
  • 做瞹瞹瞹视频免费网站/百度推广的定义
  • 深圳公司网站开发/百度网页版入口链接
  • 自己做彩票网站吗/网站seo推广方案
  • 绍兴公司网站建设 中企动力绍兴/seo哪里可以学
  • 溧阳做网站价格/ip域名解析查询
  • 营销型网站套餐/seo蜘蛛池
  • 我做外贸要开国际网站吗/app软件开发
  • 广告营销图片/佛山网站优化软件
  • 具体的网站建设方案/小广告设计
  • wordpress火车采集/seo优化信
  • 找手工活做注册网站/推广放单平台
  • 最新wordpress新建首页/神马seo教程
  • 做网站谁家好/搜索引擎优化简历
  • 美国服务器购买网站/关键词优化公司排名榜
  • 长沙有名的公司/百合seo培训
  • b站户外打野/整合营销推广
  • 途牛网站建设方案/线上it培训机构
  • 仿做网站可以整站下载器吧/郑州seo教程
  • 政府类型网站/济南seo外贸网站建设
  • 【121页PPT】智慧方案智慧综合体智能化设计方案(附下载方式)
  • Effective C++ 条款42:了解 typename 的双重含义
  • NAS播放器的新星,一站式全平台媒体库管理工具『Cinemore』体验
  • mac 通过homebrew 安装和使用nvm
  • 神经网络 小土堆pytorch记录
  • Spring MVC ModelAndView 详解