algorithms
18,894
Stars
4,524
Forks
398
Watchers
47
Open Issues
MIT
许可证
Java
语言
2017-03-18
创建时间
2026-11-09
最近更新
项目能做什么
经典算法与数据结构实现的开源代码合集。
来源:AI 基于仓库事实生成
· 内容以仓库实际 README 为准
使用说明 查看原始 README 原仓库文档
中文使用说明暂未生成。下面保留原仓库 README 摘录,命令与配置均以原文为准。
原始 README 摘录(英文原文,节选前 3000 字符)
[](https://opensource.org/licenses/MIT) [](https://github.com/williamfiset/Algorithms/actions/workflows/main.yml)  [](https://github.com/sponsors/williamfiset) # Algorithms & data structures project Algorithms and data structures are fundamental to efficient code and good software design. Creating and designing excellent algorithms is required for being an exemplary programmer. This repository's goal is to demonstrate how to correctly implement common data structures and algorithms in the simplest and most elegant ways. 🎬 Many of the algorithms and data structures in this repo have companion video explanations on the [William Fiset YouTube channel](https://www.youtube.com/@WilliamFiset-videos) — so if the code alone doesn't click, grab some popcorn and watch the videos! # Running an algorithm implementation To compile and run any of the algorithms here, you need at least JDK version 8 and [Bazel](https://bazel.build/) ## Running with Bazel (recommended) This project uses [Bazel](https://bazel.build/) as its build system. Install Bazel by following the [official installation guide](https://bazel.build/install). Run a single algorithm like this: ```bash bazel run //src/main/java/com/williamfiset/algorithms/<subpackage>:<ClassName> ``` For instance: ```bash bazel run //src/main/java/com/williamfiset/algorithms/search:BinarySearch ``` Run all tests: ```bash bazel test //src/test/... ``` Run tests for a specific package: ```bash bazel test //src/test/java/com/williamfiset/algorithms/sorting:all ``` ## Compiling and running with only a JDK If you don't want to use Bazel, you can compile and run with just the JDK: ### Create a classes folder ```bash cd Algorithms mkdir classes ``` ### Compile the algorithm ```bash javac -sourcepath src/main/java -d classes src/main/java/<relative-path-to-java-source-file> ``` ### Run the algorithm ```bash java -cp classes <class-fully-qualified-name> ``` ### Example ```bash $ javac -d classes -sourcepath src/main/java src/main/java/com/williamfiset/algorithms/search/BinarySearch.java $ java -cp classes com.williamfiset.algorithms.search.BinarySearch ``` # Data Structures - [:movie_camera:](https://www.youtube.com/watch?v=q4fnJZr8ztY) [Balanced Trees](src/main/java/com/williamfiset/algorithms/datastructures/balancedtree) - [AVL Tree (recursive)](src/main/java/com/williamfiset/algorithms/datastructures/balancedtree/AVLTreeRecursive.java) - [Red Black Tree (recursive)](src/main/java/com/williamfiset/algorithms/datastructures/balancedtree/RedBlackTree.java) - [:movie_camera:](https://www.youtube.com/watch?v=JfSdGQdAzq8) [Binary Search Tree](src/main/java/com/williamf阅读完整原文
项目深度分析 AI 生成
交互式算法可视化学习与刷题平台
| 产品构想 | 将仓库中的经典算法(如树、图、高级堆等)转化为步进式的动态可视化前端应用,并结合配套视频内容与练习题。 |
| 核心功能 | 代码与动画逐行联动执行、断点与内存结构可视化、关键分支步骤说明、配套习题自测。 |
| 目标用户 | 求职者、CS在校生、初级Java后端开发人员。 |
| 难度/周期 | 中等 · 2 - 3 个月 · 成本:前端服务器与托管费用(约 $20-50/月),前期个人时间成本。 |
| 收费模式 | 免费试用基础数据结构,高级算法及高级面试专题采取订阅制或一次性买断制。 |
| 竞争风险 | 市面上已存在成熟的可视化工具(如 VisuAlgo、LeetCode 自带探索),同质化竞争激烈。 |
| 依据 | 已验证事实(仓库已有成套清晰实现及配套YouTube视频)与AI推测的结合 |
大厂算法面试突击数字教材/系统化课程
| 产品构想 | 基于现有高质量代码与作者教学风格,编撰系统化电子书或付费录播课(针对Java技术栈算法面试)。 |
| 核心功能 | Java底层数据结构实现剖析、高频考点变种题解、时间/空间复杂度推导手册、代码模板整理。 |
| 目标用户 | 急需通过校招/社招大厂Coding面试的Java求职者。 |
| 难度/周期 | 低 · 1 - 2 个月 · 成本:几乎无金钱成本,主要是内容整理与录制精力。 |
| 收费模式 | 在Gumroad、Udemy等平台销售电子书或录播课,单价 $15 - $49。 |
| 竞争风险 | 免费算法资料泛滥,纯内容销售转化率低,极度依赖个人品牌流量。 |
| 依据 | 数据支持的判断(YouTube已有一定受众,基于GitHub高Star流量池转化) |
算法技能评测与企业定制技术内训服务
| 产品构想 | 利用现成的工业级/竞赛级算法实现,建立一套面向企业初级开发者的算法编码规范与底层数据结构能力评测方案。 |
| 核心功能 | 在线自动化判题系统、代码优雅度与时间复杂度多维度评分报告、企业定制培训题库。 |
| 目标用户 | 中小型科技公司技术招聘团队、高校实训基地(推测)。 |
| 难度/周期 | 高 · 3 - 6 个月 · 成本:判题沙箱服务器、运维监控成本(约 $100-300/月)。 |
| 收费模式 | B端企业按测评人次收费或年度SaaS授权订阅。 |
| 竞争风险 | B端销售周期长,HackerRank/牛客等头部企业壁垒极高,独立开发者难以切入。 |
| 依据 | 尚需验证的假设 |
AI 基于仓库公开数据分析生成,含推测成分,不构成收益承诺。
报告会保存到 个人中心
竞品与相似项目 GitHub Search 真实检索
相似项目数据正在完善中,暂不展示(避免误导)
项目优势与风险
| 技术成熟度 | 创建于 2017-03-18,近 30 天仍在推送 |
| 社区活跃 | Star 18,894 / Fork 4,524 / Issue 47(数据支持,可自行核实) |
| 许可证 | MIT |
| 主要风险 | 上游项目方向可能变化;同赛道竞争者较多(见竞品表);热度与需求不完全等价 |
安装与使用
此项目未提供 Docker 镜像,安装步骤以原仓库 README 为准(涉及依赖安装与环境配置,对新手门槛较高)。