kkfnui
V2EX  ›  问与答

对一万个字符串去重那种方式效率更高?

  •  
  •   kkfnui · Apr 9, 2018 · 2799 views
    This topic created in 2980 days ago, the information mentioned may be changed or developed.
    1. 使用 HashSet 去重
    2. 使用 Array 去重

    一般我们都会说数据量大的情况下使用 HashSet,在少量的数据情况下 Array

    如何评估数据量是大还是小,多大的数据量才是大呢?

    3 replies    2018-04-09 19:44:39 +08:00
    ipwx
        1
    ipwx  
       Apr 9, 2018
    根据我 Python 里面的经验,超过 10 个对象去重,set 就比 list 快了。

    你 Java 怎么样不知道,但是这个界绝对大不过几百。
    Caturra
        2
    Caturra  
       Apr 9, 2018
    考虑手写实现 /字符集不算特别大的话,字典树也许能行?
    以每个字符串最后一个字符在字典树中的下标做标记对应每一个不重复的字符串
    再额外保存一下下标 /直接动态维护就能很轻易的去除重复的串
    线性的时间效率,空间效率视情况看实现方法(字符集大一点就得时间换空间了)
    male110
        3
    male110  
       Apr 9, 2018
    把字符串放到 redis 的 set 里行么?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1329 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 17:19 · PVG 01:19 · LAX 10:19 · JFK 13:19
    ♥ Do have faith in what you're doing.