(http://blog.csdn.net/qitian0008/article/details/8044725)
上图更正下:最后一行的H的指向为D和G
深度优先遍历结果为:
A_>B->C->D->G->H->F->E
广度优先遍历:
ABCEDFGH
2.题目:输入一个已经按升序排序过的数组和一个数字sum,在数组中查找两个数,使得它们的和正好是输入的那个数字。要求时间复杂度是O(n)。如果有多对数字的和等于输入的数字,输出任意一对即可。
例如输入数组1、2、4、7、11、15 和数字15。由于4+11=15,因此输出4 和11。
答案:(http://blog.csdn.net/qitian0008/article/details/7874872)
3.输入两个整数n 和m,从数列1,2,3.......n 中随意取几个数,使其和等于m ,要求将其中所有的可能组合列出来.
答案:(http://blog.csdn.net/qitian0008/article/details/7874915)
4.
一个整数数组,长度为n,将其分为m 份,使各份的和相等,求m的最大值
比如:
{3,2,4,3,6} 可以分成:
{3,2,4,3,6} m=1;
{3,6}{2,4,3} m=2
{3,3}{2,4}{6} m=3 所以m 的最大值为3
答案:(http://blog.csdn.net/qitian0008/article/details/7888907)
5.N对括号可以有多少种匹配排列方式?比如两对括号可以有两种:()()和(())
答案:(http://blog.csdn.net/qitian0008/article/details/7948262)
6.
调整数组顺序使奇数位于偶数前面。
题目:输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于数组的前半部分,
所有偶数位于数组的后半部分。要求时间复杂度为O(n)。
答案:(http://blog.csdn.net/qitian0008/article/details/7948275)