前阵子有人和我反馈说,我写的大部分算法都有点难度,好多都是没听说过的,有点冷门,不过,写的很不错。不过说实话,我好像写的大部分算法、都不是那么的常见,也具有一定的难度,也都不是热门算法。主要是我觉得,那些热门的算法,例如二分查找、链表逆序、深度遍历等各种,对应的文章太多了,感觉你们应该都看过,应该也都懂,所以我就没打算写了。不过,可能是我想多了,我问了一些人,发现还是挺多人对很多热门算法不是很懂的
分类:
编程语言 时间:
2020-12-01 12:43:52
阅读次数:
20
题目:如果一些边长互不相同的正方形,可以恰好拼出一个更大的正方形,则称其为完美正方形。 22阶完美正方形一共有8种。下面的组合是另一种: 2 5 9 11 16 17 19 21 22 24 26 30 31 33 35 36 41 46 47 50 52 61 如果告诉你该方案紧贴着上边沿的是从左 ...
分类:
其他好文 时间:
2020-07-08 01:02:30
阅读次数:
139
一、二叉树的深度优先遍历 对于一颗二叉树,深度优先搜索(Depth First Search)是沿着树的深度遍历树的节点,尽可能深的搜索树的分支。 那么深度遍历有重要的三种方法。这三种方式常被用于访问树的节点,它们之间的不同在于访问每个节点的次序不同。这三种遍历分别叫做先序遍历(preorder_t ...
分类:
编程语言 时间:
2020-07-04 01:10:49
阅读次数:
70
一、技术总结 这题是关于DFS即深度优先遍历算法,核心是掌握深度遍历算法的思想,也就是不断往下一个结点进行查找,如果查找不到,那么就返回; 关键点一个是递归边界,也就是查找不到的条件,以及能够往下查找的路有多少条; 二、参考代码 #include<iostream> #include<vector> ...
分类:
其他好文 时间:
2020-07-02 21:44:59
阅读次数:
55
越是结构化的有规律的数据操作起来越简单,只是我们没有找到规律和工具。 首先贴代码 首先定义了一个树结构,需求是通过任意节点遍历出其所有的子节点。 根据需求的不同,就会有深度遍历和广度遍历两种,getAllChildrenDFSByReduce(),getAllChildrenDFSByStack() ...
分类:
编程语言 时间:
2020-06-24 17:45:31
阅读次数:
92
概念定义: 深度优先遍历:深度优先遍历是图论中的经典算法。其利用了深度优先搜索算法可以产生目标图的相应拓扑排序表,采用拓扑排序表可以解决很多相关的图论问题,如最大路径问题等等。 根据深度优先遍历的特点我们利用Java集合类的栈Stack先进后出的特点来实现。我用二叉树来进行深度优先搜索。 广度优先遍 ...
分类:
编程语言 时间:
2020-06-07 21:24:16
阅读次数:
77
浏览器渲染过程 不同的浏览器渲染过程实际上并不相同,但是依旧存在相一致的部分,大致过程如下所示: 浏览器解析HTML文档的源码,然后构造出一个DOM树,DOM树的构建过程是一个深度遍历的过程,当前节点的所有子节点都构建好以后才会去构建当前节点的下一个兄弟节点。 接下来,浏览器开始对CSS文件内容进行 ...
分类:
Web程序 时间:
2020-06-05 00:26:08
阅读次数:
97
思路: 深度遍历 1.第一层main函数里 两层循环找 grid[x][y] == '1' 的点 res += 1 2.递归函数里,把与该点四个方向相邻的,值为‘1’的点全部标0 标0方法: 对坐标(x,y)四个方向中 值 == ‘1’ 的赋0 再递归。 注意: 1. 对于二维数组,判空要用 if ...
分类:
其他好文 时间:
2020-05-13 13:59:47
阅读次数:
47
1 class Node(object): 2 '''定义一个结点,有左孩子和右孩子''' 3 def __init__(self,data): 4 # 结点数据 5 self.data = data 6 # 左、右 孩子指向为空 7 self.lchild = None 8 self.rchild ...
分类:
其他好文 时间:
2020-04-18 14:11:29
阅读次数:
50
python的遍历在程序中很重要,详细了解一下遍历模式,可以应用于任务分发,数据的读写中。 python的 递归遍历目录: import osdef getAllDirRE(path, sp = ""): #得到当前目录下所有的文件 filesList = os.listdir(path) #处理每 ...
分类:
编程语言 时间:
2020-04-15 21:48:00
阅读次数:
101