摘要:
题目:输入一个整数和一棵二元树。从树的根结点开始往下访问一直到叶结点所经过的所有结点形成一条路径。打印出和与输入整数相等的所有路径。例如 输入整数22和如下二元树 10 / \ 5 12 / \ 4 7则打印出两条路径:10, 12和10, 5, 7。先序遍历树即可得到结果。算法: PrintPath(TreeNode* pRoot, int sum, const int target) 用来计算,sum为栈中的元素的和,target为目标值。到达一个节点之后计算当前节点和sum的和,如果为target,输出路径返回,如果大于target,则直接... 阅读全文
摘要:
以后的算法中可能需要有建树的过程,就把建树的过程,单独弄出来了。通过先序遍历来建立一棵树。如果要建立的树长成这样: 10 / \ 6 14 / \ / 4 8 12那么输入则是应该是这样 10 6 4 # # 8 # # 14 12 # # # 应该是每一个值成为一行,而不是我这样把所有的值都写成一行。他的规则就是,一个先序遍历的过程,先10,再6,在4,在NULL,在NULL,在8,在14,在12,在NULL,NULL,NULL#include <iostream>using namespace std;struct TreeNode{ int dat... 阅读全文
摘要:
原文地址: http://blog.csdn.net/wcyoot/article/details/6428297题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。 比如将二元查找树 10 / \ 6 14 / \ / \ 4 8 12 16转换成双向链表4=6=8=10=12=14=16。很明显我们可以知道 中序遍历 一遍二叉查找树就可以得到一个递增的序列。同样,只要中序遍历一下儿茶查找数,调整一下左孩子指针和右孩子指针的指向,就可以得到一个双向链表。代码中的pListHead和pListLast的初始值都是NULL,其中... 阅读全文
摘要:
只是记录下网络层协议:包括:IP协议、ICMP协议、ARP协议、RARP协议。传输层协议:TCP协议、UDP协议。应用层协议:FTP、Telnet、SMTP、HTTP、RIP、NFS、DNS。应用层 ·DHCP(动态主机分配协议) · DNS (域名解析) · FTP(File Transfer Protocol)文件传输协议 · Gopher (英文原义:The Internet Gopher Protocol 中文释义:(RFC-1436)网际Gopher协议) · HTTP (Hypertext Transfer Protocol)超文本 阅读全文
摘要:
在博客园看到这片文章: http://www.cnblogs.com/MikeZhang/archive/2012/10/26/swapPtr20121026.html的标题,就想自己实现下任务就是将两个指针进行交换,自己也实现了一下,记录一下,如果要看解释,还是去原帖吧。第一种方法就是用二级指针,第二种方法就是用 指针引用。代码如下:#include "stdafx.h"#include <iostream>using namespace std;void swap_point1(int **p1, int **p2){ int* temp = *p1; *p 阅读全文