Two elements of a binary search tree (BST) are swapped by mistake.
Recover the tree without changing its structure.
Note:
A solution using O(n)
space is pretty straight...
分类:
其他好文 时间:
2014-07-30 17:46:04
阅读次数:
244
POJ 1236 Network of Schools(强连通 Tarjan+缩点)
ACM
题目地址:POJ 1236
题意:
给定一张有向图,问最少选择几个点能遍历全图,以及最少添加几条边使得有向图成为一个强连通图。
分析:
跟HDU 2767 Proving Equivalences(题解)一样的题目,不过多了个问题,其实转化成DAG后就不难考虑了,其实只要选...
分类:
Web程序 时间:
2014-07-30 17:38:14
阅读次数:
252
题目:
一个比较经典的问题,判断两个链表是否相交,如果相交找出他们的交点。
首先来看一下如何判断两个链表是否存在相交的节点:
思路:
1、碰到这个问题,第一印象是采用hash来判断,将两个链表的节点进行hash,然后判断出节点,这种想法当然是可以的。
2、当然采用暴力的方法也是可以的,遍历两个链表,在遍历的过程中进行比较,看节点是否相同。
3、第三种思路是比较奇特的,在编程...
分类:
其他好文 时间:
2014-07-30 17:29:44
阅读次数:
177
跟线性数组和链表不同,HashTable是快速查找的数据结构。本文中的HashTable使用链表处理数组。
该HashTable可以指定table的长度,提供了遍历的方法。包括table的长度的选择也比较讲究。
cp_int32 nPrime[MAX_HASH_PRIME_ARRAY_NUM] = {
17,
37,
79,
163,
331,
673,
1361
};
就是说table的长度来取自上面这个数组。比如用户设定了200,那么ta...
分类:
移动开发 时间:
2014-07-30 17:26:14
阅读次数:
380
BFS的思想:从一个图的某一个顶点V0出发,首先访问和V0相邻的且未被访问过的顶点V1、V2、……Vn,然后依次访问与V1、V2……Vn相邻且未被访问的顶点。如此继续,找到所要找的顶点或者遍历完整个图。由此可以看出,用BFS进行搜索所搜索的顶点都是按深度进行扩展的,先找到到V0距离为1的所有顶点,....
分类:
其他好文 时间:
2014-07-30 17:22:44
阅读次数:
239
POJ 3367 Expressions(数据结构-二叉树)
题目大意:
给你一个满二叉树的后序遍历,小写字母表示叶子节点,将这课树按照从下到上,从右到左顺序输出。
解题思路:
先建立二叉树,用堆栈实现。
然后输出,用队列实现。...
分类:
其他好文 时间:
2014-07-30 14:49:13
阅读次数:
268
Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center)....
分类:
其他好文 时间:
2014-07-30 14:48:53
阅读次数:
216
记忆化搜索。。
对每个点能走的最远进行记录,如果走过,直接返回上一层。。
最后遍历找出最大值。。
#include
#include
#include
#include
using namespace std;
struct node{
int q,w;
}s[104][105];
int a,b;
int yy[105][105];
int map[4][2]={1,0,-1,0,0,...
分类:
其他好文 时间:
2014-07-30 12:23:03
阅读次数:
179
家里网实在太烂了,弄得我都不想上网,每次打开oj特别慢,提交题目等刷出来更慢。对于这题感觉脑子不好用啊,写的好繁琐。不过所幸最终脑子还是转过乐弯。。。就是指针next的交换,对于当前遍历的ret点,判断前面是否可以插入,若可以插入,则插入点的前一点指向ret,ret指向插入点的后一点,然后再将前面已...
分类:
其他好文 时间:
2014-07-30 07:39:43
阅读次数:
190