ruandao
V2EX  ›  问与答

今天面试被问了个算法,不会,请教下

  •  
  •   ruandao · May 8, 2020 · 2966 views
    This topic created in 2370 days ago, the information mentioned may be changed or developed.

    大致题目是,譬如书名是 数据结构预算法

    然后搜索的时候,输入 "数 算"

    要怎么设计,去匹配搜索

    8 replies  •  2020-05-08 09:00:10 +08:00
    hehheh
    hehheh
    May 8, 2020
    1
    trie 吧
    binux
    binux
    May 8, 2020
    2
    搜索什么?

    从一堆书里面搜到这本?
    从字符串中搜索"数 算"的位置?
    判断字符串是否符合包含"数 算"子串?
    lihongming
    lihongming
    May 8, 2020 via iPhone
    3
    @hehheh 字很多、数据集很大的话,会不会很慢?

    个人觉得用桶可能更直接一些,每个字一个桶,把这两个桶取出来求交集
    shikimoon
    shikimoon
    May 8, 2020
    4
    这种属于搜索查询中的模糊匹配场景,可以用分词+倒排索引,然后做字符串匹配。简单的用编辑距离也行
    hehheh
    hehheh
    May 8, 2020
    5
    @lihongming 对,这样应该会比 trie 快很多。
    ruandao
    ruandao
    OP
    May 8, 2020
    6
    @binux 一堆书名中搜索匹配的书名
    sadfQED2
    sadfQED2
    May 8, 2020 via Android
    7
    倒排索引可以解决,分词的时候根据他的要求分词,比如他这个要单个字搜那就单个字分词。你可以看看 es 的搜索原理
    HuHui
    HuHui
    May 8, 2020 via Android
    8
    基本就冲着 es 去了吧
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2361 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 63ms · UTC 15:45 · PVG 23:45 · LAX 07:45 · JFK 10:45
    ♥ Do have faith in what you're doing.