Trie(前缀树)简介

trie(前缀树)简介

Trie树,也称前缀树,是一种用于高效存储和检索字符串的数据结构,广泛应用于自动补全、拼写检查和IP路由等场景。

Trie树的关键特性:

节点: 每个节点代表一个字符。根节点: 根节点为空,作为树的起始点。子节点: 每个节点可拥有多个子节点,数量取决于字符集大小(例如,英文字母为26个)。单词结束标记: 特定节点标记,指示该节点代表一个完整单词的结尾。

基本Trie树操作:

1. 插入单词:

插入新单词需要遍历Trie树,对于不存在的字符,创建新的节点。

2. 查找单词:

查找单词通过遍历Trie树,检查单词是否存在。

3. 前缀查找:

检查Trie树中是否存在以特定前缀开头的单词。

JavaScript实现基本Trie树:

class TrieNode {    constructor() {        this.children = {}; // 存储子节点        this.isWordEnd = false; // 标记单词结尾    }}class Trie {    constructor() {        this.root = new TrieNode();    }    // 插入单词    insert(word) {        let node = this.root;        for (let char of word) {            if (!node.children[char]) {                node.children[char] = new TrieNode();            }            node = node.children[char];        }        node.isWordEnd = true; // 标记单词结尾    }    // 查找单词    search(word) {        let node = this.root;        for (let char of word) {            if (!node.children[char]) {                return false;            }            node = node.children[char];        }        return node.isWordEnd;    }    // 检查是否存在以指定前缀开头的单词    startsWith(prefix) {        let node = this.root;        for (let char of prefix) {            if (!node.children[char]) {                return false;            }            node = node.children[char];        }        return true;    }}// 示例用法const trie = new Trie();trie.insert("apple");console.log(trie.search("apple"));   // trueconsole.log(trie.search("app"));     // falseconsole.log(trie.startsWith("app")); // truetrie.insert("app");console.log(trie.search("app"));     // true

高级Trie树操作:

1. 删除单词:

删除单词需要递归方法,删除不再需要的节点。

delete(word, node = this.root, depth = 0) {    if (depth === word.length) {        if (!node.isWordEnd) return false; // 单词不存在        node.isWordEnd = false;        return Object.keys(node.children).length === 0; // 检查节点是否有子节点    }    const char = word[depth];    if (!node.children[char]) return false;    const shouldDeleteChild = this.delete(word, node.children[char], depth + 1);    if (shouldDeleteChild) {        delete node.children[char];        return Object.keys(node.children).length === 0 && !node.isWordEnd;    }    return false;}

2. 统计以指定前缀开头的单词数量:

计算有多少单词以给定前缀开头。

countWordsWithPrefix(prefix) {    let node = this.root;    for (let char of prefix) {        if (!node.children[char]) return 0;        node = node.children[char];    }    return this._countWords(node);}_countWords(node) {    let count = node.isWordEnd ? 1 : 0;    for (let char in node.children) {        count += this._countWords(node.children[char]);    }    return count;}

3. 自动补全建议:

给定前缀,返回所有以该前缀开头的单词。

getWordsWithPrefix(prefix) {    let node = this.root;    for (let char of prefix) {        if (!node.children[char]) return [];        node = node.children[char];    }    return this._collectWords(node, prefix);}_collectWords(node, prefix) {    let results = [];    if (node.isWordEnd) results.push(prefix);    for (let char in node.children) {        results = results.concat(this._collectWords(node.children[char], prefix + char));    }    return results;}

时间复杂度:

插入: O(l) (l = 单词长度)查找: O(l)前缀查找: O(l)删除: O(l)

Trie树的应用场景:

自动补全系统 (例如搜索框、文本编辑器)拼写检查器IP路由 (最长前缀匹配)文字游戏 (例如,Boggle)DNA序列匹配

以上就是Trie(前缀树)简介的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1500738.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
如何在 Vue 3 中加载远程组件
上一篇 2025年12月19日 22:48:50
如何将 Astro 与 Hono 一起使用
下一篇 2025年12月19日 22:49:08

相关推荐

  • 文远知行发布全新无人物流车Robovan W5

    文远知行发布全新一代无人物流车robovan w5,旨在解决物流行业痛点。这款l4级无人驾驶物流车,专为城市开放道路设计,具备全场景适应能力、长续航和高载重等优势,为快递、城市配送和点对点物流提供高效的无人配送方案。 ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSe…

    2026年9月4日
    000
  • 雷军:和同事讨论提升小米汽车产能新方法

    小米汽车产能再升级!雷军亲临工厂督战提产 ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜ 2月7日,小米集团董事长兼CEO雷军在其微博发布消息,他正在小米汽车工厂的研发中心,实地考察生产情况。雷军表示,将与制造团队深入探讨如何在保证产品质量和…

    2026年9月4日
    000
  • 东风猛士917接入DeepSeek-R1模型 4月前通过OTA推送 

    东风猛士917智能座舱即将搭载deepseek-r1模型,引领汽车行业ai智能化新潮流!据悉,猛士科技将于2025年4月北京车展前,通过ota升级,率先在猛士917和蛟龙战甲等车型上推出这项技术。 ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜…

    2026年9月4日
    100
  • 最新一期安兔兔车机版性能榜单发布 小米SU7位列第五    

    2月8日,安兔兔车机版性能榜单新鲜出炉!骁龙8295处理器车型占据榜单前列,形成第一梯队;龙鹰一号和骁龙8155处理器车型则构成第二梯队。高通在高端智能座舱领域持续领跑。 ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜ 榜单数据显示,魏牌全新…

    2026年9月4日
    100
  • 贝斯兰获数千万元天使轮融资,系半导体湿法领域核心组件供应商

    青岛贝斯兰半导体科技有限公司近日完成数千万元天使轮融资,由初芯基金领投,多家战略方跟投。此轮融资将用于团队扩张和青岛厂区建设,进一步提升公司为国内外客户提供尖端产品、优质服务和专业技术支持的能力。 ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜…

    2026年9月4日
    200
  • 炉石传说标准野猪快攻瞎卡组怎么搭配 炉石传说标准野猪快攻瞎代码分享6月

    炉石传说现已正式上线32.4.2版本补丁,那么在这个新版本中有哪些强势卡组值得尝试呢?本次推荐的是一套标准模式下的野猪快攻瞎卡组,强度表现相当不错,有兴趣的玩家千万不要错过! 以下是2025年6月适用于标准模式的野猪快攻瞎卡组代码: AAECAea5AwaYoASongbEuAax4QbM4QbDg…

    2026年9月4日
    000
  • 纯电轿车续航榜公布:最高905km!上榜门槛达610km

    2025年1月纯电轿车续航里程排行榜新鲜出炉,各品牌续航实力强劲!本文将为您盘点不同价位段的续航冠军及热门车型。 ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜ 30万以上价位: 享界S9以816公里超长续航拔得头筹,电池容量高达100度!奔…

    2026年9月4日
    000
  • 东风纳米接入DeepSeek大模型,加速用户智能化体验革新

    东风纳米宣布接入deepseek大语言模型,赋能智能座舱!近日,东风纳米官方发布消息,已完成deepseek全系列大语言模型的集成,并计划将其应用于旗下车型。 ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜ DeepSeek大模型凭借其强大的…

    2026年9月4日
    000
  • 2025年1月全国乘用车批发204.8万辆 新能源90万辆

      根据乘联会秘书长崔东树发布的数据,2025年1月1日至31日,全国乘用车厂家批发量为204.8万辆,尽管同比去年下降了3%,但与上月相比的降幅也达到了33%。同样,市场零售量为185.3万辆,同比去年下降了9%,较上月同期下降了30%。 ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费…

    2026年9月3日
    000
  • 上汽奥迪1月销量2800辆 同比增长38.1% A7L表现抢眼

    上汽奥迪2月销量增长38.1%,a7l同比增长超112%! ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜ 上汽奥迪公布了2月份的销量数据,总销量达2800辆,同比增长38.1%。其中,A7L车型表现尤为亮眼,同比增长高达112.4%。 据悉…

    2026年9月3日
    100
  • 原神塔利雅是几星 角色塔利雅星级介绍

    原神中的塔利雅是一名四星水元素单手剑角色,其定位为辅助型角色,能够为队伍提供护盾、攻击速度以及移动速度的增益效果。该角色将于2025年6月18日随着5.7版本的上线正式登场,位于上半部分的卡池中,与限定五星冰元素角色丝柯克以及复刻五星冰元素角色申鹤一同出现在up池中,玩家在该期间获取她的概率将大幅提…

    2026年9月3日
    100
  • 中国造车新势力五强出炉:理想小鹏问界零跑小米

    中国造车新势力五强出炉:理想小鹏问界零跑小米中国造车新势力五强出炉:理想小鹏问界零跑小米中国造车新势力五强出炉:理想小鹏问界零跑小米中国造车新势力五强出炉:理想小鹏问界零跑小米

    中国新能源汽车市场竞争白热化,2025年新势力格局再洗牌!曾经的“蔚小理”时代已成过去,取而代之的是理想、小鹏、问界、零跑和小米组成的全新五强阵容,它们正引领着中国新能源汽车产业的未来发展方向。 ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜…

    2026年9月3日 用户投稿
    100
  • DeepSeek有望激发 新一波人工智能创新浪潮

    ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜ 中国人工智能企业深度求索(DeepSeek)近期发布的开源模型DeepSeek-R1,以更低的成本实现了与OpenAI的GPT-o1接近的性能。这一突破颠覆了人工智能产业长期依赖“堆算力”的模式…

    2026年9月3日
    100
  • DeepSeek-R1、o1都低于10%,人类给AI的「最后考试」来了,贡献者名单长达两页

    DeepSeek-R1、o1都低于10%,人类给AI的「最后考试」来了,贡献者名单长达两页DeepSeek-R1、o1都低于10%,人类给AI的「最后考试」来了,贡献者名单长达两页DeepSeek-R1、o1都低于10%,人类给AI的「最后考试」来了,贡献者名单长达两页DeepSeek-R1、o1都低于10%,人类给AI的「最后考试」来了,贡献者名单长达两页

    ai大模型正以前所未有的速度发展,其能力已在许多任务上达到甚至超越人类水平。然而,现有的基准测试已难以准确衡量最先进的大型语言模型(llm)的能力,例如,在常用的mmlu基准测试中,顶尖llm的准确率已超过90%。 为应对这一挑战,AI安全中心(Center for AI Safety)与Scale…

    2026年9月3日 用户投稿
    1000
  • 腾讯云上线DeepSeek模型API接口,率先支持联网搜索!

    腾讯云上线DeepSeek模型API接口,率先支持联网搜索!腾讯云上线DeepSeek模型API接口,率先支持联网搜索!腾讯云上线DeepSeek模型API接口,率先支持联网搜索!腾讯云上线DeepSeek模型API接口,率先支持联网搜索!

    腾讯云重磅推出deepseek-r1和v3大模型api接口及联网搜索功能!借助腾讯云强大的公有云服务,开发者可以轻松构建基于deepseek大模型的智能应用。 ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜ 访问腾讯云官网体验 腾讯云优化了推…

    2026年9月3日 用户投稿
    200
  • 超自然行动组兑换码是什么 2025兑换码一览

    超自然行动组是一款结合了恐怖、冒险与解谜元素的多人合作手游。2025年的最新兑换码为玩家提供了丰富的奖励内容,包括钻石、体力药剂、金币、技能点以及各类装备箱和材料包等,助力玩家提升游戏体验与角色培养。 以下是《超自然行动组》游戏的兑换码: 1、兑换码一: SUPERNATURAL100 奖励内容:钻…

    2026年9月3日
    100
  • 华勤技术:2025年收入同比增长率有望达17%以上

    ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜ 华勤技术近期向机构投资者表示,公司2025年营收及利润有望实现稳健增长,营收同比增幅有望超过17%。 2024年,华勤技术预计营收将达到1090亿至1100亿元,同比增长27.8%至29%,展现…

    2026年9月3日
    000
  • 中国国航携手华为深化鸿蒙生态合作,共创智慧航空出行新体验

    2025年6月20日至22日,华为开发者大会2025(hdc2025)在东莞松山湖隆重举行。中国国际航空股份有限公司(简称“国航”)作为鸿蒙生态的首批合作伙伴亮相此次盛会。目前,国航app已全面完成对鸿蒙5系统的深度适配,并持续快速迭代更新,用户体验日益优化。国航与华为将充分发挥各自在航空服务与数字…

    2026年9月3日
    100
  • 全球顶级AI科学家许主洪加盟阿里!IEEE Fellow,五万被引论文数,曾任Salesforce集团副总裁

    全球顶级AI科学家许主洪加盟阿里!IEEE Fellow,五万被引论文数,曾任Salesforce集团副总裁全球顶级AI科学家许主洪加盟阿里!IEEE Fellow,五万被引论文数,曾任Salesforce集团副总裁全球顶级AI科学家许主洪加盟阿里!IEEE Fellow,五万被引论文数,曾任Salesforce集团副总裁全球顶级AI科学家许主洪加盟阿里!IEEE Fellow,五万被引论文数,曾任Salesforce集团副总裁

    ai领域顶级人才加盟阿里,引发行业热议!新年伊始,重磅消息传来:ieee fellow、新加坡管理大学终身教授许主洪博士正式加入阿里巴巴。 ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜ 许主洪:学术巨擘,产业领军 许主洪博士,清华大学计算机…

    2026年9月3日 用户投稿
    200
  • 消息称英国要求苹果开放用户加密云数据

    英国政府要求苹果公司提供其云端加密用户数据的广泛访问权限,此举引发争议。据报道,这项“技术能力通知”要求苹果公司提供全面访问权限,而非仅限于协助访问特定账户。 ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜ 此举不同于以往政府要求科技公司提供…

    2026年9月3日
    000

发表回复

登录后才能评论
关注微信