Skip to content

一种方便记忆的单词树,使用两双向的继承理念来进行设计。

License

Notifications You must be signed in to change notification settings

GCGH159/WordTree

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

单词树 (Word Tree)

一个简单高效的单词树(Trie Tree)实现,用于快速存储和检索字符串集合。适合用于词频统计、自动补全和关键词匹配等场景。


功能介绍

  • 单词插入:快速插入单词到树中。
  • 单词搜索:支持精确搜索和前缀搜索。
  • 删除单词:从树中删除指定单词。
  • 统计词频:统计某单词出现的次数。
  • 自动补全:基于前缀提供候选单词列表。

项目结构

word-tree/
├── src/
│   ├── WordTree.java          # 核心实现(Java 示例)
│   ├── TrieNode.java          # 单词树节点类
│   └── Main.java              # 示例和测试用例
├── README.md                  # 项目说明
└── LICENSE                    # 许可信息

环境要求

  • JDK 8 或以上版本
  • Maven(可选,用于依赖管理)

安装与运行

1. 克隆仓库

git clone https://github.com/yourusername/word-tree.git
cd word-tree

2. 编译项目

使用 Maven 编译:

mvn clean package

或直接用 javac 编译源文件:

javac src/*.java

3. 运行示例

java -cp src Main

示例用法

WordTree trie = new WordTree();

// 插入单词
trie.insert("apple");
trie.insert("app");
trie.insert("application");

// 搜索单词
System.out.println(trie.search("apple"));       // true
System.out.println(trie.search("app"));         // true
System.out.println(trie.search("apples"));      // false

// 前缀匹配
System.out.println(trie.startsWith("app"));     // true

// 自动补全
System.out.println(trie.getWordsByPrefix("app")); // ["app", "apple", "application"]

// 删除单词
trie.delete("app");
System.out.println(trie.search("app"));         // false

贡献指南

  1. Fork 本项目并克隆到本地。
  2. 创建功能分支:
    git checkout -b feature/new-feature
  3. 提交更改:
    git commit -m "Add new feature"
  4. 推送分支:
    git push origin feature/new-feature
  5. 创建 Pull Request。

许可证

本项目基于 MIT License 开源。


联系方式

如果您有任何疑问或建议,请通过 gcgh159@qq.com 联系我们。

由于整个单词树比较大,200M无法上传,请联系我!


TODO

  • 增加多语言支持。
  • 支持序列化和反序列化。
  • 优化自动补全性能。

About

一种方便记忆的单词树,使用两双向的继承理念来进行设计。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages