软件构造

阅读: 评论:0

软件构造

软件构造

Poetic walks

这是一个基于图的诗歌生成器,是通过文本语料库来生成的

图中的顶点是单词,单词被定义为非空非换行符组成的字符串,不分大小写。他们再语料库中由空格、换行或者问卷末尾分隔。

语料库是由自己所定义的,通过输入一系列以空格隔开的文本来自定义地创建语料库。比如,输入:w1 w2,将会产生w1指向w2的边,而边的权重由w1 w2衔接的次数决定

对于input的一个句子,对于每一对单词w1、w2,在图中寻找是否存在w1-b-w2,若存在多组满足要求的b,选择权重是最大的一条路径。若无可以连接的单词b,则将w1 w2直接输出。

具体实现
通过语料库生成图

首先,以行的方式读取文件文本内容,将所有的句号都转换为空字符串。

随后将每行内容拼接起来,注意需要在行之间加入空格,再将拼接后的字符串所有字符转换为小写形式。

将字符串以空格分隔开,返回一个字符串数组。

遍历这个字符串数组,每次遍历邻接的两个单词:
由于不知道表示这两个单词的点原先是否已经存在边,先加入一条单词1到单词2,权为1的边,获取返回值,返回值表示的是加入边之前两点之间的边权值。判断返回值,如果返回值为0,说明原先不存在边,不用改动,因为已经set了一条权值为1的边,如果返回值不为0,说明两点间之前存在边,将原先边权值+1再存入图中

Friendship

首先,将Person类复制进来

随后创建FriendshipGraph

内部参数仅需要

addVertex和addEdge部分直接调用图自带的方法:

本文发布于:2024-01-31 12:01:51,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170667371228375.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

下一篇:CodeChef
标签:软件
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23