算法
渡人先渡己
个人github github.com/marco2013
展开
-
已知二叉树的中序遍历和前序遍历,如何求后序遍历
#include using namespace std;void BinaryTreeFromOrderHelper(string InOrder,string PreOrder,int length, string&res){ if(length == 0) { return; } char val = PreOrde原创 2018-01-22 09:57:41 · 500 阅读 · 0 评论 -
二叉树深度优先遍历和广度优先遍历
对于一颗二叉树,深度优先搜索(Depth First Search)是沿着树的深度遍历树的节点,尽可能深的搜索树的分支。以上面二叉树为例,深度优先搜索的顺序为:ABDECFG。怎么实现这个顺序呢 ?深度优先搜索二叉树是先访问根结点,然后遍历左子树接着是遍历右子树,因此我们可以利用堆栈的先进后出的特点,现将右子树压栈,再将左子树压栈,这样左子树就位于栈顶,可以保证结点的左子树先与右子树被遍历转载 2018-01-13 22:16:08 · 525 阅读 · 0 评论 -
leetcode 频率?
出现频度为5: 1. Leet Code OJ 1. Two Sum [Difficulty: Easy] 2. Leet Code OJ 8. String to Integer (atoi) [Difficulty: Easy] 3. Leet Code OJ 15. 3Sum [Difficulty: Medium] 4. Leet Code OJ 20. Valid Parentheses...转载 2018-03-29 17:30:56 · 482 阅读 · 0 评论 -
多线程死锁的产生以及如何避免死锁
一、死锁的定义多线程以及多进程改善了系统资源的利用率并提高了系统 的处理能力。然而,并发执行也带来了新的问题——死锁。所谓死锁是指多个线程因竞争资源而造成的一种僵局(互相等待),若无外力作用,这些进程都将无法向前推进。 下面我们通过一些实例来说明死锁现象。 先看生活中的一个实例,2个人一起吃饭但是只有一双筷子,2人轮流吃(同时拥有2只筷子才能吃)。某一个时候,一个拿了左筷子,一人拿了右筷子,2个人...转载 2018-03-21 18:08:11 · 163 阅读 · 0 评论