父亲节点的实现

  在做Jena推导owl本体文件的一个项目的时候,遇到要实现记录每个节点的父节点的情况,

一开始想的是通过树形的数据结构来做,但后来发现这个很难,因为每次更新树的时候,不知道

怎么将新的子节点传给树,对数做一个更新,而且树中并没有存放那个节点是那个节点的父节点这样的信息。

其实这个问题只需要对访问过的节点定义一个List,将访问过的节点加入到这个List中,然后对与这个List,建立一个

fatherList,用来存放这些节点的父节点,问题就很好的解决了,虽然对于多个节点对应同一个父节点的情况,有一点浪费

存储空间,但是编码要简单的多。

感悟:这个方法是自己突然想到《图论》中的最短路径的方法(Dijkstra)中是这样记录父节点后想到的,所以

有些时候看书的时候觉得书中的方法很简单,自己很容易就能够理解,但是当自己遇到同样的问题的时候,却一直想不到

书中那些很简单但是很好的方法。这告诉我们要多多回味一些经典的算法,里面有很多我们没有真正理解的东西。

 

转载于:https://www.cnblogs.com/strive-for-freedom/p/4268575.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值