【CS】计算机科学重要思想、成果记录

多思考,多总结

计算机体系结构

存储器层次结构设计

  • 分层思想/模型:分层解构,更好地理解,分工明确,可维护性高。

缓存(Cache)

特点

  • 硬件上:成本高但性能好
  • 使用上:部分内容会被重复利用
  • 应用场景:CPU 性能和Cache Line

算法的六种思想

https://www.cnblogs.com/zhaojinhui/p/18264853

递归算法(Recursive Algorithm)

递归算法是一种自我调用的算法。

在解决问题时,它将问题拆分成更小的子问题,并通过调用自己来解决这些子问题。每个子问题又可以进一步拆分,直到达到基本情况,然后逐层返回结果,最终得到整个问题的解决方案。

贪心算法(Greedy Algorithm)

贪心算法是一种通过在每一步选择当前最优解来解决问题的策略。

它不考虑全局最优解,而是希望通过每次选择局部最优解来达到整体最优解。

分治算法 (Divide and ConquerAlgorithm)

分治算法是一种将复杂问题划分为更小的独立子问题,并对这些子问题进行解决的策略。

它将问题分解为多个部分,然后对每个部分进行处理,最后将它们合并成最终的解决方案。

回溯算法(Backtracking Algorithm)

回溯算法是一种通过不断尝试所有可能的解决方案,直到找到满足条件的解决方案的方法。

如果尝试的当前解决方案不满足条件,它会回溯到上一步,并继续尝试其他可能的选择,直到找到解决方案或者确定无解。

枚举算法(Brute Force Algorithm)

枚举算法是一种通过穷举所有可能的解决方案来解决问题的方法。

它不利用任何特定的策略,而是尝试所有可能的选择,直到找到满足条件的解决方案。

动态规划(Dynamic Programming)

动态规划是一种通过将问题拆分为更小的子问题,并将其解决方案存储起来,避免重复计算来优化求解过程的方法。

它使用一个表格或数组来保存子问题的解决方案,以便在需要时快速查找和使用。

通过解决子问题,动态规划能够逐步得到整个问题的解决方案。

Licensed under CC BY-NC-SA 4.0
最后更新于 Mar 19, 2025 23:53 +0800
loveleaves
使用 Hugo 构建
主题 StackJimmy 设计