Embedded_Software

此文档主要记录本人在软件学习方面遇到的问题及技术总结

文章结构根据学习路线进行逐级更新,在学习与工作中存在问题也会同步更新,学习路线如下:

1.


1.建立计算机系统基础【 1-2个月 】

《深入理解计算机系统》 && 《C Primer Plus》
刷题

  • 洛谷:入门难度500题

2.数据结构与算法 【 2-4个月 】

《数据结构、算法与应用》 && 《C++ Primer》
可选补充《算法导论》
刷题

第一阶段

  • LeetCode:Easy难度
    • 数组:两数之和(1)、移除元素(27)
    • 链表:反转链表(206)、合并两个有序链表(21)
    • 字符串:验证回文串(125)、字符串转整数(8)
  • Codeforces:Div.4或Div.3的A/B题
    • 侧重输入输出和简单逻辑。

第二阶段

刷题建议

  • LeetCode:Easy-Medium难度
    • 树:二叉遍历(94/144/145)、对称二叉树(101)
    • 图:岛屿数量(200)、课程表(207)
    • 排序:合并区间(56)、前K个高频元素(347)
  • Codeforces:Div.3的C/D题
    • 练习贪心、简单动态规划(如背包问题)。

3.操作系统与Linux内核

《Linux内核完全剖析》 && 《Linux内核完全注释》
配合阅读:《计算机网络》
刷题建议

  • LeetCode:Medium-Hard难度
    • 动态规划:零钱兑换(322)、编辑
      距离(72)
    • 系统设计:LRU缓存(146)、实现
      Trie(208)
  • Codeforces:Div.2的D/E题
    • 练习高级数据结构(线段树、并查
      集)和数学思维。

4.高级应用与优化

《C++Primer》进阶 && 《算法导论》

  • Codeforces:Div.1/比赛全站
    • 参与周赛/虚拟比赛,训练速度和思
      维。
  • LeetCode:高频面试题
    • 重点:二叉树、链表、动态规䎞(如
      股票问题系列)。