`

大量数据按照出现次数排序显示

    博客分类:
  • java
阅读更多
今天系统的一个模块需要实现以下功能。有一个文本文件存有4000个左右的人名,每个人名占一行,这些人名中有重复,现在需要剔除重复并且将这些人名按照重复的次数由多到少显示出来。考虑了一下决定采用以下流程。
1.将这4000个左右人名读出来村到一个LinkedList<String>和一个HashSet<String>中。
2.创建HashMap<String,Integer>遍历HashSet<String>,将每条结果setResult按照<result,0>添加到HashMap<String,Integer>中。
3.遍历LinkedList<String>,将每条结果listResult按照<listResult,HashMap.getKey(listResult).intValue+1>添加到HashMap中。
4.将HashMap排序,输出排序后的key。
HashMap的排序算法点击此处

复杂度分析:
第一步的复杂度为n+n;
第二步的n
第三步n
第四步复杂度nlgn
总复杂度nlgn(可能不对)

这是我想到的解决方案,大家如果有更好的想法欢迎讨论哈
1
0
分享到:
评论

相关推荐

    统计字符串中每个字符出现次数并排序工具

    标题中的"统计字符串中每个字符出现次数并排序工具"是一个实用的程序,它的主要功能是接收一段字符串输入,然后分析其中每一个字符的出现频次,并将这些字符按照出现次数由高到低进行排序。这样的工具在处理大量文本...

    数据结构课程设计 排序

    在IT领域,数据结构是计算机科学中的核心概念之一,它涉及到如何有效地组织和管理大量数据。而排序,作为数据结构中的重要操作,是程序设计中不可或缺的部分。本课程设计主要探讨了各种排序算法的实现与比较,让我们...

    数据结构里的排序问题

    例如,快速排序在大多数情况下表现优秀,而归并排序在处理大量数据时更稳定。理解并掌握这些排序算法,有助于我们根据实际需求选择最适合的排序方法,提高程序的运行效率。在实际编程中,我们还可以结合各种优化策略...

    大量数据排序算法的优化设计

    针对大规模数据的排序问题,可以采用一种优化策略,其基本思路是将大量数据按照一定的间隔分为若干个小组,对每个小组内的数据进行排序,最后将各个小组的排序结果合并起来。这种方法能够有效减少排序过程中数据的...

    数据结构中的排序问题

    在处理大量数据时,可能会倾向于选择时间复杂度较低的算法,即使它可能需要更多的辅助空间。此外,对于特定的应用场景,还可以考虑使用混合排序策略,结合多种算法的优点,以达到最优的排序效果。

    数据结构课程设计(内部排序算法比较_C语言)

    - **二路归并排序**稳定性好,适合处理大量数据的排序任务。 #### 六、总结 通过本次课程设计,我们深入了解了各种内部排序算法的特点及其适用场景。在实际开发中,应根据具体情况选择最合适的排序算法,以达到...

    数据结构8中算法排序,配源码和动画演示.rar

    在这个压缩包文件中,我们重点关注的是排序算法,它是数据处理中的常见任务,尤其在处理大量数据时至关重要。排序可以极大提高数据分析效率,为后续处理提供便利。以下是对8种排序算法的详细解释,以及源码和动画...

    数据结构思维导图-排序.pdf

    数据结构是计算机科学中至关重要的基础,特别是在处理和组织大量数据时。排序是数据结构中的一个核心主题,它涉及到如何高效地将一组元素按照特定规则(如升序或降序)排列。本思维导图主要关注排序算法,下面将详细...

    数据结构——排序ppt

    数据结构中的排序方法是计算机科学中非常基础且重要的概念,涉及到如何有效地组织和处理大量数据。排序能够将无序的数据转换成有序的形式,方便检索、分析和处理。在这个主题中,我们将探讨几种常见的排序算法,包括...

    数据结构 折半插入排序

    ### 数据结构之折半插入排序 #### 知识点概览 1. **折半插入排序的基本概念** 2. **折半插入排序算法原理** 3. **折半插入排序的时间复杂度分析** 4. **折半插入排序的空间复杂度分析** 5. **折半插入排序与普通...

    C语言数据结构内部排序算法及比较

    例如,快速排序通常在大多数情况下表现优秀,而归并排序在处理大量数据时能保持稳定性能。在C语言中实现这些算法,不仅需要理解算法原理,还要熟练掌握指针、内存管理和递归等C语言特性。 综上所述,了解和掌握各种...

    数据结构排序算法介绍

    在计算机科学领域,数据结构和排序算法是至关重要的基础,它们直接影响到...例如,快速排序在大多数情况下表现优秀,而归并排序则在处理大量数据时具有稳定性。理解并熟练掌握这些排序算法,是提升编程能力的关键步骤。

    数据结构java版 排序算法

    基数排序基于数字的位数,从低位到高位逐位排序,适合处理大量整数排序,时间复杂度为O(kn),其中k是数字的最大位数。 ### 排序算法的选择原则 - 对于小规模数据(n≤50),直接插入排序或直接选择排序是不错的...

    C++ 数据结构 排序实验

    排序是计算机科学中最基础且重要的问题之一,它涉及到如何有效地重新排列一系列数据,以便按照特定标准(如升序或降序)进行访问。这个“C++ 数据结构 排序实验”主要目标是分析和比较不同排序算法的时间复杂度,...

    数据结构各种内排序性能比较课程设计报告

    数据结构中的排序算法是计算机科学中的重要组成部分,特别是在处理大量数据时显得尤为关键。这篇“数据结构各种内排序性能比较课程设计报告”旨在通过对比多种排序算法,了解它们的性能差异,以便在实际应用中选择最...

    数据排序操作(c语言)

    数据排序是计算机科学中至关重要的一个领域,尤其是在处理大量数据时。在C语言中,实现各种排序算法可以让我们深入理解这些算法的工作原理及其效率。在这个实验中,我们将探讨几种内部排序算法,包括插入类、交换类...

    广东工业大学_数据结构(内部排序算法)实验报告

    数据结构中的内部排序算法是计算机科学中至关重要的概念,它涉及到如何有效地组织和处理大量数据。广东工业大学的数据结构实验报告重点关注了几种常见的内部排序算法,包括直接插入排序、选择排序和快速排序。这些...

    数据结构排序以及排序的技巧

    - 当处理大量数据时,优先考虑时间复杂度更低的算法,如归并排序和快速排序。 - 如果对稳定性有要求,可以选择归并排序或冒泡排序。 - 对于小规模数据,简单的排序算法如冒泡或插入排序可能更合适,因为它们的...

    数据结构 查找和排序的基本操作

    数据结构中的查找和排序是计算机科学中至关重要的概念,它们涉及到如何高效地处理和组织大量数据。本实验主要探讨了六种不同的算法:二分查找、起泡排序、简单选择排序、直接插入排序、二分插入排序以及快速排序。 ...

Global site tag (gtag.js) - Google Analytics