Coursera Algorithm Ⅱ week1 编程作业 WordNet

Wordnet简单实用画树形结构 NLTK是python的一个自然语言处理工具,其中提供了访问wordnet各种功能的函数。每个词(word)对应不同的语义(sense),消除了多义性的词叫lemma1.导入wordnet:from nltk.corpus import wordnet需要先下载wordnet语料包,才可以导入成功。2.获得某个word的sense(语义)synsets = wn.synsets('dog')3.获... 阅读详情

全部代码:https://github.com/RedemptionC/CourseraAlgorithms/tree/master/wordnet

这是学习完有向图,无向图之后的编程作业,我们要提交的是三个类:

SAP(shortest ancestor path) :

输入是一张有向图,实现这样一些函数:给出两个点,求他们的最短祖先路径长度,如果没有就返回-1

这里的最短祖先路径是指:假设v,w有一个公共祖先x,对应的祖先路径是v-x,x-w之间的有向路径,两条路径长度之和最小时,就是最短祖先路径

如图:

除了点与点的最短祖先路径,还要求计算点集与点集之间的最短祖先路径

首先是求两点的sap:

private void setSAP(int v, int w) {
        validateV(v);
        validateV(w);
        BreadthFirstDirectedPaths breadthFirstDirectedPathsV = new BreadthFirstDirectedPaths(
                digraph, v);
        BreadthFirstDirectedPaths breadthFirstDirectedPathsW = new BreadthFirstDirectedPaths(
                digraph, w);
        HashSet<Integer> setV = new HashSet<>();
        for (int i = 0; i < digraph.V(); i++) {
            // 这里是包括自己的,因为如果A->B,那么B也可以是SAP上的公共祖先
            // 记录所有v能够到达的点,放进set
            if (breadthFirstDirectedPathsV.distTo(i) != Integer.MAX_VALUE)
                setV.add(i);
        }
        ancestor = null;
        minDistance = Integer.MAX_VALUE;
        for (int i = 0; i < digraph.V(); i++) {
            // 处理所有w能到达,并且在set里(v也能到达)的点
            if (breadthFirstDirectedPathsW.distTo(i) != Integer.MAX_VALUE && setV.contains(i)) {
                // 计算他们的距离之和,保存产生最小值时的祖先(即他们的到达的公共点)
                int t = breadthFirstDirectedPathsV.distTo(i) + breadthFirstDirectedPathsW.distTo(i);
                if (t < minDistance) {
                    minDistance = t;
                    ancestor = i;
                }
            }
        }
        this.v = v;
        this.w = w;
        if (minDistance == Integer.MAX_VALUE)
            minDistance = -1;
        if (ancestor == null)
            ancestor = -1;
    }

首先调用提供的BFS库,将v,w分别作为遍历的起点,算出pathTo,和distTo数组(这里出于各种原因考虑使用了现有的库,没有自己实现,因此在本文最后面会附上这个库的笔记),其中distTo[v]记录了起点s与v之间的距离

然后将v出发能到达的点加入到一个set,之后遍历w出发能到达,并且也出现在set中(即v能到达)的点,计算该祖先路径的长度,保存最小的,并且记下sap对应的祖先节点

然后是两个点集之间的sap:

因为提供了多源BFS的库,所以做法是相似的:

WordNet 数据文件格式 两种基本数据文件:index.pos 和 data.pos,其中pos包括noun、verb、adj和adv,分别对应名词、动词、形容词和副词。 Index.pos WordNet中所有词的索引文件,通过这个文件,可以直接找到每个词汇对应的synset_offsets,从而快速地得到待搜索词的语义解释。 Index.pos文件格式 每个index文件头都有几行包括版权说明、 阅读详情

相关推荐

Python自然语言处理(2):wordnet的层次结构

WordNet(II)——wordnet的层次结构 本节知识结构图、下位词集、上位词集、词集的路径; 特别注意:部分方法在书中出现时,方法名后面并没有括号,但是笔者在方法名后加了括号( )后才输出预期的结果,否则会输出其他信息,比如: >>> wn.synset('car.n.01').hypernyms()#有括号,输出预期结果 [Synset('motor_vehicle.n.01')]

Fiona_yuyu 4504

WordNet介绍——一个英语词汇数据库

WordNet介绍——一个英语词汇数据库,传统的语义知识库

weixin_62403234的博客 3769

Coursera Algorithm Ⅰ week1 编程作业 percolation

这是学习完并查集后的编程作业,需要提交两个类:percolation和percolationStats 问题背景很复杂,但是问题模型就是:判断一个n*n的网格,最下一行是否有full site 所谓full site就是通过一系列的open site(它的上下左右相邻的),和最上一行相连的open site ...

RedemptionC的博客 583

algs4:Coursera课程作业

algs4 Coursera课程作业

Vue3项目实战:CKEditor5富文本编辑器从安装到隐藏不需要的功能

本文详细介绍了在Vue3项目中集成并深度定制CKEditor5富文本编辑器的完整流程。通过分析其模块化架构,指导开发者从标准构建出发,移除图片、表格等冗余插件,创建专属轻量构建,从而显著减小打包体积并提升用户体验。文章结合实战代码,涵盖了环境搭建、自定义构建配置、高级优化技巧等关键步骤。

weixin_29016833的博客 283

RapidScada在windows下的安装(详细)

1.下载地址:RapidScada官网 2.版本说明 有Linux版本和Windows版本,看自己的需求下载,推荐下载最新稳定版本。 3.系统要求 4.安装前的准备(windows10) 首先打开Windows功能: 先关闭 Microsoft .NET Framework3.5的 Windows Communication Foundation 子组件。如下图: Microsoft .NET Framework配置按下图勾选: iis安装的功能: 5.安装 解压..

m0_51275803的博客 4262

【TestNG自动化测试框架详解】

TestNG是一款设计测试用例执行流程的测试框架。

weixin_43936332的博客 1538

FPGA实战:AXI BRAM Controller写时序避坑指南(附Vivado配置步骤)

本文深入探讨了FPGA开发中AXI BRAM Controller的写时序实战要点与常见陷阱。文章聚焦于写地址与写数据通道的握手机制,详细解析了AWREADY、WVALID等关键信号的处理,并提供了Vivado中流水线深度、ECC等关键参数的配置步骤与优化建议,旨在帮助开发者有效规避时序问题,提升系统性能。

weixin_32306683的博客 170

从封装到先进封装:一文讲透Chiplet、2.5D/3D堆叠与系统集成

封装是芯片产业链中连接硅片与电路板的桥梁,承担物理保护、电气连接、散热与机械支撑等核心任务。传统封装从DIP、QFP发展到BGA,通过提升引脚密度满足早期性能需求。随着摩尔定律放缓,单纯缩小晶体管尺寸难以为继,先进封装应运而生,其核心理念从“封装单颗芯片”转向“系统级高密度集成”。扇出型封装、2.5D硅中介层、3D堆叠、Chiplet和系统级封装等技术,通过微米级互连和垂直堆叠,大幅提升I/O密度与带宽,成为AI芯片、HBM存储、高性能计算等领域的关键支撑。本文梳理先进封装的技术演进、分层架构与工程难点,帮

weixin_29185167的博客 365

麻辣香锅病毒分析

Spicy Hot Pot浏览器劫持病毒(麻辣香锅病毒)从2020年初被安全公司监测到,因其病毒模块带有MLXG_KM被安全行业代称麻辣香锅病毒。目前通过各种激活工具传播, 包括暴风激活、小马激活和KMS激活等诸多工具,疑似与下载站进行合作推广此类激活工具。Spicy Hot Pot 是一个浏览器劫持 Rootkit,它会将用户的主页更改为指向恶意软件操作员控制的页面,此外还会将内存转储从机器上传到预定义的服务器,并结合本地更新功能以确保其保持更新。通常浏览器劫持者会通过更改用户主页的恶意可执行文件或注册表

不忘初心,护天下安全! 4788

【微服务】SpringBoot 4.0 新特性整合项目实战应用详解

SpringBoot 4.0 新特性整合项目实战应用详解

congge 4585

改进的U-Net在视网膜血管分割上的应用

为了提高算法在血管边界的分割能力,在编码部分采用全局卷积网络(GCN)和边界细化(BR)替换传统的卷积层;在跳跃连接部分引入改进的位置注意模块(PA)和通道注意模块(CA),目的是增加血管与背景之间的对比度,使网络更好地将血管与背景分割开;此外,为了提高网络的性能,在编码部分的最后一层使用密集卷积网络解决网络过拟合问题,同时为了在一定程度上解决梯度爆炸、梯度消失的问题,在解码部分的每一层使用卷积长短记忆网络提升网络获取特征信息的能力。替换传统的卷积操作来解决血管边界非血管像素误分为血管的问题。

weixin_70923796的博客 782

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

上一篇: 第 202 场力扣周赛
下一篇: xv6 risc-v file.c sysfile.c walk through
RedemptionC
博客等级 码龄11年 103粉丝 84原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值