算法思想:动态规划 (Dynamic Programming)
动态规划是算法的重点和难点。一方面我们在实际生活中的许多场景(比如满减凑单,最短路径等等)下都是需要使用到动态规划思想的,这使得其场景总是很复杂;另一方面动态规划的思维逻辑并不直接反应人的思维方式,不像贪心之类的,本身就是人实际的思考方式,这就使得动态规划难以理解。
动态规划是算法的重点和难点。一方面我们在实际生活中的许多场景(比如满减凑单,最短路径等等)下都是需要使用到动态规划思想的,这使得其场景总是很复杂;另一方面动态规划的思维逻辑并不直接反应人的思维方式,不像贪心之类的,本身就是人实际的思考方式,这就使得动态规划难以理解。
DFS(深度优先搜索)使用的就是回溯的方法。我们将回溯描述为这样一种方法:每次在分支选择的时候先随意选择一个分支,如果这个分支是不符合期望的,那么我们再回到分支选择的路口
重新选择其他分支。
贪心算法思想的核心非常简单,每次选择当前情况下的最优解,从而期望问题得到最优解。本质是一个证明局部最优解就是全局最优解的过程,贪心算法在有最优子结构的问题中尤为有效。
分治的核心就是分而治之。是一种逐步把大问题拆解成小问题,通过解决小问题从而解决大问题的思想。
B+树。它是一种非常重要的数据结构,尤其在数据库系统和文件系统中扮演着核心角色,用于高效地存储、检索和更新大量数据(特别是在磁盘等较慢的存储介质上)。