最近要做一个密码本,列出所有电话号码的可能组合 也就是指定个数的数字的所有组合 比如(0, 1, 2) 列出这三个数字的任意组合,组合长度为3: 000,001,002,100,101,102….. 需要一个…
分类:算法笔记
《算法笔记》——背包问题
背包问题是动态规划算法的一个典型实例,首先介绍动态规划算法: 动态规划: 基本思想: 动态规划算法通常用于求解具有某种最优性质的问题。在这类问题中, 可能会有很多可行解。没一个解都对应于一个值,我们希望找到具有最优值的解…
《算法笔记》——快速排序算法
快速排序的思想: 通过一趟排序将要排序的数据分割成两个独立的部分,以选取的关键字为分界线(关键字一般选取第一个要排序的元素)。其中一部分的所有数据都比另外一部分的所…
《算法笔记》——POJ1321-棋盘问题
题目链接:https://vjudge.net/problem/POJ-1321 思路一:首先我们可以明确这是一个深度搜索的题目,与八皇后问题相似。我们建立一个函数DFS用来累计可行的方案数,我们走过一列我…
《算法笔记》——归并排序
归并操作: 归并操作,也叫归并算法,指的是将两个顺序序列合并成一个顺序序列的方法,平均时间复杂度为O(nlogn)。 归…
《算法笔记》——迷宫最短路问题(BFS)
题目大意:给定一个大小为N*M的迷宫。迷宫由通道(.)和墙壁(#)组成,每一步可以向邻接的上下左右四个通道方向移动。求出从起点(S)到终点(G)的最少步数。 思路:从起点开始,定义一个数组d记录可以走的路径…