算法思想
文章平均质量分 78
「已注销」
这个作者很懒,什么都没留下…
展开
-
以全排列问题、八皇后问题为例深入理解递归与分治的编程思想
一、什么是递归与分治?通过最近的对数据结构的学习以及看了很多博主给出的解决全排列还有八皇后问题的算法,对于递归和分治我有了更深入的理解。分治可以理解成是把一个问题划分成很多性质、模式都与这个问题相似或一致的子问题,同样,子问题也可以再重新划分成更多的子问题,这样就可以通过相似的算法来解决各个子问题,最后把这些结果合并即得到了所要解决的问题的解,而递归恰恰是实现分治思想的好方法。例如:二叉树的前中后...原创 2018-04-16 22:29:14 · 895 阅读 · 0 评论 -
关于算法笔记8.2BFS中例题“求给定矩阵中块的个数”的DFS实现
算法笔记8.2节给了这样一个例题:给出一个m*n的矩阵,矩阵中的元素为0或1.称位置(x,y)与其上下左右四个位置是相邻的。如果矩阵中有若干个1是相邻的(不必两两相邻),那么称这些1构成了一个“块”。求给定的矩阵中“块”的个数。011110000100000000100000111011101001111000例如上面的6*7的矩阵中,块的个数为4。在算法笔记中给出的BFS解法如下:/*-----...原创 2018-05-11 13:51:43 · 1273 阅读 · 5 评论