用C++实现Trie树

79 篇文章 ¥59.90 ¥99.00
本文介绍了如何使用C++实现Trie树,一种用于字符串检索和统计的数据结构。通过C++代码示例展示了TrieNode结构和Trie类的插入、查找操作,适用于搜索引擎和字符串匹配。代码仅处理小写字母,如需处理其他字符集需调整(MAXN)和字符映射。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用C++实现Trie树

Trie树,也称为字典树,是一种树型数据结构,主要用于字符串的检索和统计。它可以高效地进行字符串的插入、删除和查找操作,因此被广泛应用于搜索引擎、字符串匹配等领域。

以下是C++实现Trie树的代码示例:

#include <iostream>
#include <cstring>
using namespace std;

const int MAXN = 26; // 字符集大小

struct TrieNode {
    int count; // 记录该节点被访问次数
    TrieNode *next[MAXN]; // 指向下一个节点的指针数组

    TrieNode() {
        count = 0;
        memset(next, NULL, sizeof(next));
    }
};

class Trie {
public:
    Trie() {
        root = new TrieNode();
    }

    void insert(string word) {
        TrieNode *node = root;
        for (int i = 0; i < word.size(); i++) {
            int index = word[i] - 'a';
            if (!node->next[index]) {
                node->next[index] = new TrieNode();
            }
       
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值