我知道我也许正在从死里复生一个老问题,但是我觉得应该发表评论.

您可以创建关联列表图形结构,也可以针对图进行调整.

考虑LinkedList< Vertex>.对象和LinkedList< Edge>.宾语.这将使您可以遍历所有边缘和所有顶点,但不包含有关所有对象如何连接的信息.

假设我们添加了几个LinkedList< Connection>对象.实际上,每个顶点一个.连接只是边缘和顶点相交的地方.因此,边缘将具有两个Connection对象(对于无向图),而顶点将具有一个LinkedList< Connection>.对象,表示与它连接的每个Edge的连接.本质上,这是一个事件列表.

如果删除某些Connection对象,则可以修改它以表示有向图.更具体地说,您必须选择在哪些地方没有这些引用.您可以选择从关联的LinkedList< Connection>中删除连接.如果您不希望从顶点看到边缘(对于上面的示例,N2将有一个空的LinkedList< Connection>).您可能改为选择在Edge上使引用成为可选(对于上面的示例,E1将有一个指向N2的连接,而一个Connection为空,从而允许从E1遍历到N2,但不能返回到N1.您选择如何实现一个是更直观的-边缘是定向的,因此删除边缘上的连接以决定它们的连接方式似乎合乎逻辑.另一个可能一开始看起来有些复杂,但会阻止您不必要地跳到进行广度优先和深度优先搜索时无用的边缘.

点形式:

>在发生列表的实现中,我有.您需要实施吗?

>严格来说,您可以只存储传出的边缘.但是,回溯算法可能会受益于能够沿其行进的参考进行回溯.当然,您可以使用某种历史来实现此目的,因此可能不需要考虑太多.

>如果两者都做,则可能需要某种方法来区分它是传入还是传出.是否通过具有两个LinkedList< Connection>顶点上的对象,或者在Connection上具有布尔型pointingToVertex原语,或任何其他方式.也许您的边缘将是有方向的,而无方向的边缘将由两个指向相反方向的边缘组成.根据您的结构需要进行考虑.

java 关联表做修改_java-图关联列表实现相关推荐

  1. php 关联表 增加行,在多级关联表上保存多行-Cake PHP

    我被困在Cake PHP代码中的多级关联表上. 我有以下型号 有许多学生的监护人,各种学生都有学费.当我创建一个有2个学生的监护人时,必须为StudentFees表创建一个关联的2行.我在添加监护人时 ...

  2. MySQL 关联表批量修改(数据同步)

    update table1 t1 ,table2 t2 set t1.field1 = t2.field2 where t1.id = t2.id 转载于:https://www.cnblogs.co ...

  3. java控制台输入做界面_Java控制台输入

    0 引言 从控制台中读取数据是一个比较常用的功能,在 JDK 5.0 以前的版本中的实现是比较复杂的,需要手工处理系统的输入流.有意思的是,从 JDK 5.0 版本开始,能从控制台中输入数据的方法每增 ...

  4. java web 表单提交_Java Web 表单(form)提交问题!

    layout: java title: Java web 的form表单问题 date: 2019-12-19 16:29:36 QHQ-[问题描述]今天做Java web项目的时候,里面一个功能让我 ...

  5. java图形界面文字输出_java图形化Swing教程(一)

    与多线程.泛型等不同,Swing主要在于使用. 下面主要放代码和注释,少说话. (一)基本框架package Swing;import java.awt.*;import javax.swing.*; ...

  6. java 封装表单数据类型_Java基本数据类型与封装类型详解(int和Integer区别)

    int是java提供的8种原始数据类型之一. Java为每个原始类型提供了封装类,Integer是java为int提供的封装类(即Integer是一个java对象,而int只是一个基本数据类型).in ...

  7. java该怎么做笔记_JAVA学习笔记

    1.java.lang.NumberFormatException:有两种情况错误,第一就是数据类型转换错误.第二有空能 是没有传进参数,或者传进空参数.例如案例,本人的解决方法. if(str1.e ...

  8. java判断表是否存在_java怎么判断表是否存在?

    在Java代码中判断数据库中某张表是否存在: 1.使用JdbcTemplate beanpublic boolean validateTableNameExist(String tableName) ...

  9. java使用枚举做审核_JAVA—枚举

    前言:枚举是一种规范它规范了参数的形式,这样就可以不用考虑类型的不匹配并且显式的替代了int型参数可能带来的模糊概念 枚举像一个类,又像一个数组.Enum作为Sun全新引进的一个关键字,看起来很象是特 ...

最新文章

  1. CSS 文字溢出显示省略号
  2. 用Leangoo看板工具策划一场活动,看板示例
  3. uniapp 生成Android证书及.keystore转.jks、.pem
  4. html网页滚轮滑动页面,JQuery实现鼠标滚轮滑动到页面节点
  5. 牛逼啊!一个可以随时随地写Python代码的神器
  6. python之请求报文对比(假定最多二维字典)
  7. VTK:可视化算法之BandedPolyDataContourFilter
  8. CoinList将销售价值4000万美元的社交代币RLY
  9. 通达信 移动平均算法_通达信公式教程,建议收藏,关注「所有文章只发表一次」...
  10. 三星为Ativ S发布WP8更新
  11. 至今我尚未见过一个程序化交易系统
  12. 国家计算机病毒中心发现篡改IE的恶意木马
  13. 在腾讯云上搭建基于Nodejs的网站
  14. 如何免费建立自己的一个HTML网站(完全免费)
  15. 淘宝官方订单API接口
  16. C# 数字转16进制和字符串转换16进制
  17. C++ Pointer指针
  18. 关于计算机老师的话,关于赞美老师的话
  19. java 事件流_JDK14的新特性:JFR,JMC和JFR事件流
  20. error : xxxx:对‘xxxxxxxxx’未定义的引用

热门文章

  1. OpenYurt开箱测评|一键让原生K8s集群具备边缘计算能力
  2. 从电商到软件市场,阿里双11战火蔓延
  3. 一幅GAN网络创造的肖像图卖了40万美金,但那又怎样?
  4. C-Power 自主无人海上电力系统有望通过高效能源传输及远程高带宽通信技术,开启新的海上应用
  5. Arm发布移动端v9体系新架构,CPU、GPU、IP全囊括了!
  6. 腾讯花85亿买岛;微信发原图或泄露位置信息?高通逼因特尔把Modem芯片业务卖给苹果?小米9官网正式下架……...
  7. apache php隐藏头信息的方法,apache、php隐藏http头部版本信息的实现方法
  8. java 迷你桌面地图_求教贴,Java桌面小游戏的地图怎么做
  9. mysql安装pymyaql_python安装mysql的依赖包mysql-python操作
  10. 数组正遍历,数组倒遍历