首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Trie树:字符串频率统计排序

题目:一个文本文件,大约有一万行,每行一个词,要求统计出其中最频繁出现的前10个词,请给出思想,给出时间复杂度分析。 首先我们给出答案: 1....我们先来计算hashmap的时间复杂度 Hash 表号称是 O(1) 的,但在计算 hash 的时候就肯定会是 O(k) ,而且还有碰撞之类的问题; 所以其时间复杂度大于O(k)....但是当key从数字变为字符串,如何确定字符串的唯一位置。 Trie树 要唯一的确定字符串的位置,我们首先想到的就是字典,对单词进行字典排序后,每一个单词的位置就是确定的了。...同时其不会产生任何碰撞,所以其最大的时间复杂度为O(k) 但是当字符串的重复率较大,数据较多时,这个时间复杂差的还是比较大的。 简单地说,Trie就是直接定址表和树的结合的产物。...题目要求是求出Top 10,因此我们没有必要对所有的数据都进行排序,我们只需要维护一个10个大小的数组,每读一条记录就和数组最后一个数据对比,如果小于这个数据,那么继续遍历,否则,将数组中的数据进行调整

1.4K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    4个代码中,出现频率最高的字符串

    在程序员的代码里,字符串是经常出现的形式。有些语句虽然没有什么意义,但却无孔不入,我们经常见到它的身影。...1、hello world 在介绍某一种新的语言时,教材往往会在开始,给出能够输出hello world程序的例子。...没错,它一度时间是我的个人密码。 大中华的文字,却无法这么玩,因为方块字实在是太多了。不过,中文,也有一些比较有趣的,类似的诗句,比如下面这首诗,就包含10个中文数字。...在恐怖电影《闪灵》中,这句话是主人公一直重复的梦魇,让人闻之毛骨悚然。 《闪灵》这部恐怖片深刻的揭示了加班者的命运,以及高强度工作背后的动机和意义!程序员经常引用。...这预示着,互联网时代悄然叩响答了中国的大门。 持续33年的中国“互联网”,冥冥中自有天意。

    71720

    pandas新版本增强功能,数据表多列频率统计

    更多 Python 数据处理的干货,敬请关注!!!! 前言 pandas 在1.0版本发布后,更新频率非常高,今天我们看看关于频率统计的一个新方法。...---- 列频率统计 pandas 以前的版本(1.1以前)中,就已经存在单列的频率统计。...image-20200806092901143 通过参数 normalize 可以转换成占比 但是,以上都是针对单列的统计,很多时候我们希望对多列组合的频率统计。...---- 数据表的多列频率统计 现在,pandas 1.1 版本中已为 DataFrame 追加了同名方法 value_counts,下面来看看怎么使用。...因此在 key 设置时,可以是列名(一个字符串),也可以是列值,也可以是他们的混合 不仅如此,现在我们还可以利用 pd.cut 方法自定义分段标签等细致的控制。这里不多介绍。

    1.6K20

    SAS统计一篇文章中各字母的出现频率

    今天偶然看到一个古老的帖子:统计一篇文章中各字母的出现的次数和频率。先说统计单词的问题。最直接的方法应该是将文章按单词分成多行,每行一个单词,再用PROC FREQ即可求得频数和频率。...上面的方法也可以用来处理统计字母频率的问题,但是有点LOW。因为文章一长,行数就会非常多。...,第一种方法会区分大小写,比如会分别统计‘Be’和‘be’的频率(见下图)。...第二种方法同样可以用来处理统计字母的问题,程序如下: data demo; TEXT="It is Teacher's Day today....当然,SAS有现成的函数COUNTC可以用来统计字母频率,程序如下: data demo; TEXT="It is Teacher's Day today.

    1.4K20

    统计文本中单字母、双字母、三字母的频率

    1 前言 这篇文章是对网友在文章的下的提问,做出的解答。 2 问题描述 如何统计文本中单字母、双字母、三字母的频率,考虑单词之间的空格和符号。...3 算法思路 对于统计单字母、双字母、三字母的出现频率: (1)将文本中单词提取出来(遍历输入的文本,判断当前遍历到的元素是否为字母,若为字母则继续遍历,若不为字母就以此为断点分割出单词)。...(2)在遍历输入文本的同时,统计分割出的所有单词数(计算频率时使用),判断该单词是否为单字母、双字母、三字母单词,若是则相应的变量值加1。...(3)在遍历完成后,利用各个变量的值去计算相关类型单词在文本中出现的频率,最后输出即可。...---- 代码清单 统计文本中单字母、双字母、三字母的频率 # 输入文本 str1 = input() # 和flag和循环中的i组成双指针 flag = 0 # 统计各种单词的数量,用于计算比例 all_word

    1.4K30

    统计字符串中的元音子字符串

    题目 子字符串 是字符串中的一个连续(非空)的字符序列。 元音子字符串 是 仅 由元音('a'、'e'、'i'、'o' 和 'u')组成的一个子字符串,且必须包含 全部五种 元音。...给你一个字符串 word ,统计并返回 word 中 元音子字符串的数目 。...示例 1: 输入:word = "aeiouu" 输出:2 解释:下面列出 word 中的元音子字符串(斜体加粗部分): - "aeiouu" - "aeiouu" 示例 2: 输入:word = "...unicornarihan" 输出:0 解释:word 中不含 5 种元音,所以也不会存在元音子字符串。...示例 3: 输入:word = "cuaieuouac" 输出:7 解释:下面列出 word 中的元音子字符串(斜体加粗部分): - "cuaieuouac" - "cuaieuouac" - "cuaieuouac

    1.1K20

    【DB笔试面试630】在Oracle中,怎样收集表的统计信息?怎样收集分区表的统计信息?

    ♣ 题目部分 在Oracle中,怎样收集表的统计信息?怎样收集分区表的统计信息?...♣ 答案部分 主要采用DBMS_STATS.GATHER_TABLE_STATS包进行统计信息的收集,如下所示: DBMS_STATS.GATHER_TABLE_STATS(USER,'TB_NAME...=>'PARTITION',CASCADE=>TRUE);--针对分区表的单个分区进行收集统计信息 除此之外,还有一些其它的用法,如下所示: l EXEC DBMS_STATS.GATHER_DATABASE_STATS...();--收集当前数据库下所有用户的统计信息 l EXEC DBMS_STATS.GATHER_SCHEMA_STATS(USER);--收集用户下所有对象的统计信息 当系统的分区表数据量很大时,如果每次都收集全部的分区必然会导致统计信息的收集非常慢...','TRUE');--只收集数据变动的分区 SELECT DBMS_STATS.GET_PREFS('INCREMENTAL',NULL,'TABLE_NAME') FROM DUAL;--查看分区表

    99130

    c++统计字符串中某个字符出现的次数_统计字符串出现的次数

    参考链接: C++程序查找字符串中字符的频率 手机边亲爱的大家好!   今天我要给大家分享一个示例:统计出某个字符串在某表某字段中出现的次数。  ...大家先来看一下结果效果图:   先来讲一下原理,其实就是循环数据库中的所有表,然后找模糊查找,找到了就记录表名、表中的字段、统计出现的次数。  ...知道了原理就可以开始做了,今天我们换个套路,不要再之前一步一步的方式来教大家了,只告诉关键的步骤。0   1表   其中,我们要建一张表,用于保存统计的数据,具体的查看截图。  ...0   2函数   这次代码只分享给大家一个关键的函数,然后大家自己去调用一下   查找函数    1Private Sub Snoop(SnoopFor As String) 2 3    On Error...Err.Description, vbCritical70    Resume Snoop_Exit7172    Exit Sub7374End Sub0   3测试   最后一步就是测试了,大家可以将按上面的步骤,在按钮控件的单击事件里来调用上面的函数

    3.5K20

    Oralce的二维表操作

    Oralce的二维表操作 –创建表并同时添加约束 –主键约束 –非空约束 –检查约束 –唯一约束 –外键约束 –简单的表创建和字段类型 –简单的创建语句: create table student...insert into student values(5,‘李四003’,18,‘男’,‘唱歌’,‘657889905’,3); –使用外键: –作用:当在子表中插入的数据在父表中不存在,则会自动报错...–概念:当一张表的某个字段的值需要依赖另外一张表的某个字段的值,则使用外键约束。 –其中主动依赖的表称为子表,被依赖的表称为父表。外键加在子表中。...–使用: –在子表中的字段后直接使用 references 父表名(字段) 例如: cid number(10) references clazz(cno) –在创建表语句的最后面使用 constraints...–使用关键字 on delete set null –删除父表数据时,将子表中的依赖字段的值设置为null。 –注意:子表依赖字段不能添加非空约束。

    67220
    领券