前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >构造哈夫曼树的哈夫曼算法

构造哈夫曼树的哈夫曼算法

作者头像
Yuyy
发布于 2022-06-28 10:37:00
发布于 2022-06-28 10:37:00
43800
代码可运行
举报
运行总次数:0
代码可运行

本文最后更新于 1170 天前,其中的信息可能已经有所发展或是发生改变。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include "stdafx.h"
#include "stdio.h"
#define maxval 100.0 
#pragma warning(disable:4996)
typedef struct{
	float weight;
	int parent, lchild, rchild;
}hufmtree;
void Huffman(hufmtree tree[])
{
	int i, j, p1, p2; int n, m;
	float sum = 0; 
	float small1, small2, f;
	puts("请输入叶子结点的数目");
	scanf("%d", &n);
	m = 2 * n - 1;
	for (i = 0; i < m; i++)
	{
		tree[i].parent = 0;
		tree[i].lchild = 0;
		tree[i].rchild = 0;
		tree[i].weight = 0.0;
	}
	printf("请输入%d个权值\n", n);
	
	for (i = 0; i < n; i++)
	{

		scanf("%f", &f);
		tree[i].weight = f;
	}
	for (i = n; i < m; i++){
		p1 = p2 = 0;
		small1 = small2 = maxval;
		for (j = 0; j <= i - 1; j++){ 
			if (tree[j].parent == 0)
			if (tree[j].weight < small1){
				small2 = small1;
				small1 = tree[j].weight;
				p2 = p1;
				p1 = j;
			}
			else
			if (tree[j].weight < small2){
				small2 = tree[j].weight;
				p2 = j;
			}
		}
		tree[p1].parent = tree[p2].weight = i;
		tree[i].weight = tree[p1].weight + tree[p2].weight;
		sum += tree[j].weight;
		tree[i].lchild = p1;
		tree[i].rchild = p2;
	}
	printf("哈夫曼树为; \n parent lchild rchild weight\n");
	for (i = 0; i < 2 * n - 1; i++)
	{
		printf(" %d      %d      %d      %.2f\n", tree[i].parent,
			tree[i].lchild, tree[i].rchild, tree[i].weight);
	}
	printf("带权路径长度为:%.2f\n", sum);
}
int main()
{
	hufmtree tree[100];
	Huffman(tree);
}

Post Views: 184

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-4-15 1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
中文短文本的实体识别实体链接,第一名解决方案
面向中文短文本的实体识别与链指,简称ERL(Entity Recognition and Linking),是NLP领域的基础任务之一,即对于给定的一个中文短文本(如搜索Query、微博、用户对话内容、文章标题等)识别出其中的实体,并与给定知识库中的对应实体进行关联。ERL整个过程包括实体识别和实体链指两个子任务。
机器学习AI算法工程
2019/10/28
4.4K0
中文短文本的实体识别实体链接,第一名解决方案
干货 | 上百个业务场景,语义匹配技术在携程智能客服中的应用
随着AI技术在各个领域的广泛应用,人机交互技术愈发成熟。包括电商、银行、电信等在内的很多领域开始建设智能客服的交互能力,为客人提供智能化自助服务,同时为客服人员的工作提供智能辅助。携程集团依靠强大的客服团队为国内外旅行者的出行提供了优质的服务保障,持续提升智能客服的交互能力,提高客服人员的生产效率显得尤为重要。
携程技术
2021/12/31
1.3K0
干货 | 上百个业务场景,语义匹配技术在携程智能客服中的应用
干货 | 携程AI助力产品内容化实践
孙哲,携程资深算法工程师。长期从事自然语言相关工作,当前主要涉及内容化,对于内容挖掘和生成方面有相关的一些研究和探索。
携程技术
2020/02/18
9200
干货 | 携程AI助力产品内容化实践
干货 | 挖掘旅游热点吸引年轻人,携程自动热点投放系统的背后玩法
携程AI内容化团队,负责携程内容产品的NLP,NLG支持,产品包括热点自动投放平台,点评分析服务,产品特色标签和推荐理由抽取,命名实体识别与链接,机器翻译等。
携程技术
2021/08/13
1K0
知识图谱在小米的应用与探索
导读:小米知识图谱于2017年创立,已支持公司了每天亿级的访问,已赋能小爱同学,小米有品、智能问答、用户画像、虚拟助手、智能客服等互联网产品。通过引入知识图谱,这些产品在内容理解、用户理解、实体推荐等方面都有了显著的效果提升。本文的主要内容包括:
zenRRan
2020/11/19
1.9K0
知识图谱在小米的应用与探索
他山之石 | 微信搜一搜中的智能问答技术
搜索引擎是人们获取信息的重要途径,其中包含了很多问答型的query。但传统的搜索只能返回TopK的网页,需要用户自己从网页中分析甄别答案,体验较差。原因是传统搜索引擎只是对query和doc做“匹配”,并不是真正细粒度地理解query。智能问答正好可以弥补这个局限,它的优势在于能够更好地分析query,直接返回精准、可靠的答案。
NewBeeNLP
2022/11/11
9950
他山之石 | 微信搜一搜中的智能问答技术
美团知识图谱问答技术实践与探索
知识图谱问答(Knowledge-based Question Answering, KBQA)是指给定自然语言问题,通过对问题进行语义理解和解析,进而利用知识库进行查询、推理得出答案。美团在平台服务的售前、售中、售后全链路的多个场景中都存在大量的咨询问题。我们基于问答系统,以自动智能回复或推荐回复的方式,来帮助商家提升回答用户问题的效率,同时更快地解决用户问题。
美团技术团队
2021/11/17
2.3K1
达观文辉:知识图谱构建下的自动问答KBQA系统实战
问答系统(Qusstion Answering System,QA System)在大家的日常生活中随处可见,2014年微软率先推出了小冰智能聊天机器人,直至现在越来越多如siri移动生活助手和智能音箱等的面市,问答作为一种信息获取方式愈发受到大众和厂商的关注和投入。问答系统能够接受用户以自然语言形式描述的提问,并从大量的异构数据中查到或者推理出用户想要的答案。相比传统的信息检索系统,问答系统场景的核心在于用户的信息需求相对比较明确,而系统直接输出用户想要的答案,这个答案的形式可能是文档、结构化的表格或者推理加工的自然语言文本。
用户10103085
2022/11/09
1.4K0
达观文辉:知识图谱构建下的自动问答KBQA系统实战
全国知识图谱与语义计算大会 - 实体发现与链接比赛总结
一 背景 互联网大数据时代中,随着机器语义理解需求的日益增长,知识图谱,即各类实体、概念及其之间的语义关系,日益成为大数据时代知识表示的主要形态之一,并在学术界、产业界中掀起一股股浪潮。 2016年9月19-22日,全国知识图谱与语义计算大会(简称CCKS)在北京召开。来自全国学术界、产业界从事知识图谱相关研究的400多人参加,探讨了知识图谱领域的新发现、新技术和新应用,旨在向社会公众介绍知识图谱相关领域的发展趋势和创新成果,进一步推动知识图谱技术领域的发展。本届CCKS会议主题为:语义、知识与链接大数
TEG云端专业号
2018/03/13
2.3K0
全国知识图谱与语义计算大会 - 实体发现与链接比赛总结
携程的旅游知识图谱构建和应用
本文首先介绍了什么是旅游知识图谱,然后就旅游知识图谱的架构,构建,应用和未来几个方面展开讨论。
数据猿
2019/11/20
2.3K0
携程的旅游知识图谱构建和应用
多因子融合的实体识别与链指消歧
本文为上汽集团人工智能实验室祝凯华,戴安南,范雪丽的相关工作。本文的研究对象是“面向中文短文本的实体链指任务”,该任务拥有9万条语句用于做实体识别和实体消歧。这篇文章成绩排名前列,相应论文已被CCKS 2019收录。
AI科技评论
2019/08/21
2.9K1
多因子融合的实体识别与链指消歧
小布助手在百度飞桨实体链指比赛中的实践应用
实体链指是指对于给定的一个文本(如搜索Query、微博、对话内容、文章、视频、图片的标题等),将其中的实体与给定知识库中对应的实体进行关联。实体链指一般有两种任务设计方式:Pipeline式和端到端式。
用户1386409
2021/04/20
9080
OPPO 自研大规模知识图谱及其在数智工程中的应用
本文主要分享 OPPO 知识图谱建设过程中算法相关的技术挑战和对应的解决方案,主要包括实体分类、实体对齐、信息抽取、实体链接和图谱问答 query 解析等相关算法内容。
NebulaGraph
2022/07/26
8900
OPPO 自研大规模知识图谱及其在数智工程中的应用
使用知识图谱嵌入进行实体链接
在信息爆炸的时代,如何从大量文本中准确提取和识别实体成为了一个重要的研究课题。实体链接(Entity Linking, EL)作为信息抽取的一部分,旨在将文本中的提及(mention)与知识图谱中的实体(entity)相匹配。通过将文本中的实体与知识图谱中的定义关联,可以有效提升信息检索、问答系统及推荐系统的性能。
数字扫地僧
2024/09/23
3840
使用知识图谱嵌入进行实体链接
美团搜索中NER技术的探索与实践
命名实体识别NER是信息提取、问答系统、句法分析、机器翻译、面向Semantic Web的元数据标注等应用领域的重要基础工具,在自然语言处理技术走向实用化的过程中占有重要的地位。
美团技术团队
2020/07/27
2.3K2
美团搜索中NER技术的探索与实践
基于LEBERT的多模态领域知识图谱构建
摘要:多模态知识图谱(multi-modal knowledge graph,MMKG)是近几年新兴的人工智能领域研究热点。本文提供了一种多模态领域知识图谱的构建方法,以解决计算机学科领域知识体系庞大分散的问题。首先,通过爬取计算机学科的相关多模态数据,构建了一个系统化的多模态知识图谱。但构建多模态知识图谱需要耗费大量的人力物力,本文训练了基于LEBERT模型和关系抽取规则的实体-关系联合抽取模型,最终实现了一个能够自动抽取关系三元组的多模态计算机学科领域知识图谱。
一点人工一点智能
2022/12/27
4.4K0
基于LEBERT的多模态领域知识图谱构建
千言实体链指赛事登顶,冠军团队经验独家分享
大数据时代,信息爆炸性增长,直接导致了信息过载。那么在无用的信息之中找到有用的信息,就少不了智能的信息理技术帮忙。比如,作为人工智能领域处理大规模文本数据的核心技术的自然语言处理(NLP),它在信息检索、智能问答、智能推荐等众多领域扮演着重要的角色,实体链指(Entity Linking,EL)则是其中最热门的研究课题之一。本次百度举办的“千言数据集:面向中文短文本的实体链指任务”,数据来源于真实的搜索 query、微博、对话内容、文章/视频/图片的标题等,旨在将实体链指技术实践于更多的现实场景。
用户1386409
2021/04/20
1.1K0
千言实体链指赛事登顶,冠军团队经验独家分享
广告行业中那些趣事系列32:美团搜索NER技术实践学习笔记
摘要:本篇主要是学习美团技术团队分享的《美团搜索中NER技术的探索与实践》学习笔记。首先介绍了背景,包括NER任务定义、美团搜索场景下的NER以及美团搜索NER任务面临的挑战;然后重点介绍了美团基于实体词典匹配+模型在线预测框架。通过实体词典匹配可以解决头部搜索NER匹配问题,而长尾复杂的搜索则通过模型在线预测解决。对于想了解美团搜索NER技术实践的小伙伴可能有所帮助。
数据拾光者
2022/05/05
8120
广告行业中那些趣事系列32:美团搜索NER技术实践学习笔记
干货 | 响应速度与智能化如何平衡,携程酒店搜索实践
随着线上旅游业务的不断发展,携程酒店的数据量不断增加,用户对于搜索功能的要求也在不断提高。携程酒店搜索系统是一个基于Lucene开发的类似Solar的搜索引擎系统,本文将从四个部分描述对搜索引擎的优化。
携程技术
2020/08/26
7310
干货 | 响应速度与智能化如何平衡,携程酒店搜索实践
知识图谱问答领域综述
知识图谱(KG)源自于1960年提出的语义网络,有着源自于NLP、Web、AI等方面的基因,它通过结合数学与信息科学等学科理论与方法,以可视化形式描述其资源与载体,应用于问答、推荐等领域,其概念演化如图1所示。
一点人工一点智能
2022/12/27
1.4K0
知识图谱问答领域综述
推荐阅读
相关推荐
中文短文本的实体识别实体链接,第一名解决方案
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验