Skip to content

Excaliiiibur/cpp-handwritten-coding-public

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

C++ 手撕代码题合集

这个仓库整理 C++ 常见手撕代码题和算法场景题,目标是让面试复习资料既能直接阅读,也能逐步扩展成可编译、可测试、可维护的练习库。

内容分成两部分:

  • problems/:偏代码实现,每道题包含题目说明、接口、实现、测试和实现细节。
  • docs/scenario_questions/:偏面试口述,整理 200 道算法场景题,按 10 个主题分组,每组 20 题。

这个 public 版本不包含个人简历、个人复习进度和本地会话记录,适合公开协作和二次维护。

学习顺序

  1. 双向链表
  2. LRU Cache
  3. 二叉树构建和遍历
  4. 智能指针

独立分组(算法场景题学习包)

这部分和 problems/* 分开维护,按组学习,适合在 GitHub App 中直接按文档刷题:

分组直达

  1. 第01组:数组、双指针、滑动窗口
  2. 第02组:排序、查找、二分、选择算法
  3. 第03组:哈希、集合、计数、频率统计
  4. 第04组:链表、栈、队列、堆、单调结构
  5. 第05组:区间、扫描线、调度、贪心
  6. 第06组:树、BST、Trie
  7. 第07组:图、并查集、最短路、拓扑排序
  8. 第08组:动态规划、状态转移、背包、博弈
  9. 第09组:回溯、搜索、组合枚举、剪枝
  10. 第10组:数据流、缓存、检索、推荐、海量处理

题目索引

双向链表

练习链表节点、前驱/后继指针、头尾边界和任意位置插入删除。

LRU Cache

练习哈希表和双向链表组合,实现 O(1) 查询、更新和淘汰。

二叉树构建和遍历

练习层序建树、前序+中序建树,以及前序、中序、后序、层序遍历。

智能指针

当前先整理 shared_ptr 的核心概念:共享所有权、引用计数、循环引用和 weak_ptr

建议阅读方式

每道题按这个顺序看:

  1. README.md:先理解题目要求和核心思路。
  2. docs/IMPLEMENTATION_DETAILS.md:看边界情况和实现拆解。
  3. include/:看对外接口怎么设计。
  4. src/:看具体实现。
  5. tests/:看哪些场景被验证。

后续计划

  • 单向链表
  • 栈和队列
  • 循环队列
  • 二叉搜索树
  • 堆和优先队列
  • Trie 前缀树
  • 并查集
  • 排序算法
  • 二分查找
  • 字符串匹配

参与维护

欢迎补充新的题目、改进讲解、修正复杂度或补充测试。建议先阅读 CONTRIBUTING.md,按现有目录结构提交改动。

About

Public C++ handwritten coding and algorithm scenario interview study repo

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors