??
1.拷贝构造
//拷贝构造的规则,有两种方式实现初始化。
//1、一个是通过在后面:a(x),b(y)的方式实现初始化。
//2、第二种初始化的方式是直接在构造方法里面实现初始化。
案例如下:
#include
//如果声明已经定义,边不会生成
class classA
{
private:
int a;
int b;
public:
//拷贝构造...
分类:
其他好文 时间:
2014-08-21 22:48:25
阅读次数:
355
参考文献1
参考文献2
题目:输入二叉树中的两个结点,输出这两个结点在数中最低的共同父结点
变种一:二叉树是二分查找树,如果根节点比两个节点都小,则访问右子树,都大则访问左子树,否则即为结果
变种二:每个节点有指向父节点的指针,则转变为查找两个单链表的第一个公共节点
变种三:对于普通二叉树,下面给出两种方法
方法一:二叉树的后序遍历,先看节点是否在左子树,再看右子树,然后根据左右子...
分类:
其他好文 时间:
2014-08-21 17:22:34
阅读次数:
197
源码
[root@luozhonghua ch10]# cat zippo11.c
/* zippo1.c -- zippo info */
#include
int main(void)
{
int b[3]={100,200,300}; int *p;p=b;
printf("b=%p,*b=%d,p=%p,*p=%d,p+1=%p,*p+1=%d \...
分类:
其他好文 时间:
2014-08-20 12:31:32
阅读次数:
189
题目描述:
在本题中,将会给出一个按照先序遍历得出的字符串,空格代表空的子节点,大写字母代表节点内容。请通过这个字符串建立二叉树,并按照题目描述中的一种先序遍历和两种中序遍历的算法分别输出每一个非空节点。
输入格式
输入只有一行,包含一个字符串S,用来建立二叉树。保证S为合法的二叉树先序遍历字符串,节点内容只有大写字母,且S的长度不超过100。
输出
共有三行,每...
分类:
其他好文 时间:
2014-08-19 22:34:55
阅读次数:
440
接触分层架构有段时间了,从刚开始的朦朦胧胧的理解到现在有一定深度的研究后,觉得有必要将自己的研究成果分享出来给大家,互相学习,也是对自己的一个总结。
我们每天面对的项目结构可以说几乎都是分层结构的,或者是基于传统三层架构演变过来的类似的分层结构,少不了业务层、数据层,这两个层是比较重要的设计点,看...
分类:
Web程序 时间:
2014-08-19 22:11:35
阅读次数:
410
题目:判断一棵二叉树是否是完全二叉树
思路:
1.首先明确完全二叉树的概念。完全二叉树除最后一层外,所有层结点数均达到最大值,最后一层结点连续集中在最左边。空树也是完全二叉树。
2.我们可以通过层序遍历的方式遍历这个二叉树,使用一个队列存储遍历的结点。可以利用最后一层的结点集中在左侧这个特性解题,具体看代码:
代码:
bool isComple...
分类:
其他好文 时间:
2014-08-19 19:07:15
阅读次数:
190
深度优先搜索算法(Depth First Search),是搜索算法的一种。是沿着树的深度遍历树的节点,尽可能深的搜索树的分支。当节点v的所有边都己被探寻过,搜索将回溯到发现节点v的那条边的起始节点。这一过程一直进行到已发现从源节点可达的所有节点为止。如果还存在未被发现的节点,则选择其中一个作为源节...
分类:
其他好文 时间:
2014-08-19 18:29:35
阅读次数:
278
题目:
基于中序遍历找到一个结点的后继结点。
分析:
首先明确中序遍历,顺序为:左--->根----->右
假设当前结点为p。
有两种情况:
1.当p有右子树时,那么其右子树的最左结点即为所求:
2.当p没有右子树时,有下面两种情况:
沿着p向上找,如果p的父结点的左孩子是p,那么该父结点即为所求,否则继续向上找。
...
分类:
其他好文 时间:
2014-08-19 16:39:15
阅读次数:
216
1. 二分搜索详见笔者博文:二分搜索的那些事儿,非常全面2. 矩阵二分搜索(1) 矩阵每行递增,且下一行第一个元素大于上一个最后一个元素(2) 矩阵每行递增,且每列也递增3. DFS 深度优先搜索适用场景:(1) 输入数据:如果是 递归数据结构(如单链表、二叉树),则一定可以使用DFS(2) 求解目...
分类:
其他好文 时间:
2014-08-19 16:12:34
阅读次数:
207