摘要: 已知二叉树前序遍历和中序遍历的结果,重建二叉树 解决思路: 前序遍历的结果中根节点在左右孩子的前面,左孩子在右孩子前面;中序遍历的结果中根节点在左右孩子的中间,中序遍历可以找出根节点的左子树和右子树,前序遍历的第一个节点是根节点,根据这些特性可以递归的重建二叉树 例如 pre=[1,2,4,7,3, 阅读全文
posted @ 2018-12-08 18:23 孤独风中一匹狼 阅读(6921) 评论(0) 推荐(0) 编辑
摘要: 如何判断有向图是否有环 1.dfs,bfs 2.拓扑排序 使用拓扑排序来解决这个问题,首先什么是拓扑排序?一直删除出度为0的顶点直到没有出度为0的顶点,如果最终还有顶点存在就说明有环,并且是由剩下的顶点组成的环。 例如 有有向图的邻接表如下 0 1 1 0 1 2 2 3 首先 3这个顶点出度为 0 阅读全文
posted @ 2018-12-08 13:06 孤独风中一匹狼 阅读(6663) 评论(0) 推荐(0) 编辑
摘要: 最近在线上发现一块代码逻辑在执行N次耗时波动很大1ms~800ms,最开始以为是gc的问题,对代码进行逃逸分析,看哪些变量被分配到堆上了,后来发现是并发编程时对一个切片并发的写,导致存在竞争,类似下面的代码 func main() { //var count int array := make([] 阅读全文
posted @ 2018-12-08 12:59 孤独风中一匹狼 阅读(5486) 评论(0) 推荐(1) 编辑