C语言算法分析与设计试题整理与解析-软考中级软件设计师

分治法(先拆分、再合并) 动态规划(自顶向下分解、记录子问题的解) 回溯法(在解空间树中试探寻找,使用剪枝可以提高效率) 贪心算法(遵循贪心条件进行求解,不一定是最优解,但可以证明Dijkstra单源最短路径算法、 Kruskal算法、Prim算法最小生成树都是最优解 ) 考法: 给出具体问题(0-1背包、八皇后问题)阅读更多C语言算法分析与设计试题整理与解析-软考中级软件设计师[…]

C语言算法分析与设计试题整理与解析-软考中级软件设计师

回溯法思想与八皇后问题

摘要: 本文介绍了回溯法的算法思想,以及通过解决八皇后问题以及寻找八皇后问题解的个数,实践了回溯法的具体使用。 八皇后问题: 在8*8的国际象棋棋盘上,皇后是威力较大的棋子,它可以攻击到与自己同行、同列以及同一斜线上的棋子,如下图,所有橙色格子上的棋子,都可能会被皇后攻击: 而八皇后问题就是在8*8的棋盘上,找到合适的阅读更多回溯法思想与八皇后问题[…]

回溯法思想与八皇后问题

算法基础

分治法与动态规划 分治法的基本思想: 将一个规模为 n 的问题分解为 k 各规模较小的子问题, 这些子问题互相独立且与原问题是同类型问题。 递归地解这些子问题, 然后把各个子问题的解合并得到原问题的解。 分治法所能解决的问题一般具有的几个特征是: 该问题规模缩小到一定程度就可以容易地解决; 该问题可以分解为若干个规模较阅读更多算法基础[…]

算法基础