题目描述:
Given a singly linked list where elements are sorted in ascending order, convert it to a height balanced BST.
给定一个有序的链表,要求构建一颗平衡二叉查找树。
解析:二叉查找树的中序遍历的结构就是一颗二叉查找树,要使得最终的二叉查找树的结构尽可能的平衡,也就是说只需要...
分类:
其他好文 时间:
2014-08-23 23:02:31
阅读次数:
389
二叉查找树的特点 下面的图就是两棵二叉查找树,我们可以总结一下他的特点:(1) 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值(2) 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值(3) 它的左、右子树也分别为二叉查找树我们中序遍历这两棵树发现一个有序的数据序列: 【1 ...
分类:
其他好文 时间:
2014-08-22 14:17:49
阅读次数:
403
5 / \ 2 6 / \ \ 1 4 7 / 3class Node{ Node left; Node right; Node parent; int val;}/**1.如果有右子树,则结果为右子树的最左节点。...
分类:
其他好文 时间:
2014-08-21 01:30:33
阅读次数:
216
题目描述:
在本题中,将会给出一个按照先序遍历得出的字符串,空格代表空的子节点,大写字母代表节点内容。请通过这个字符串建立二叉树,并按照题目描述中的一种先序遍历和两种中序遍历的算法分别输出每一个非空节点。
输入格式
输入只有一行,包含一个字符串S,用来建立二叉树。保证S为合法的二叉树先序遍历字符串,节点内容只有大写字母,且S的长度不超过100。
输出
共有三行,每...
分类:
其他好文 时间:
2014-08-19 22:34:55
阅读次数:
440
题目:
基于中序遍历找到一个结点的后继结点。
分析:
首先明确中序遍历,顺序为:左--->根----->右
假设当前结点为p。
有两种情况:
1.当p有右子树时,那么其右子树的最左结点即为所求:
2.当p没有右子树时,有下面两种情况:
沿着p向上找,如果p的父结点的左孩子是p,那么该父结点即为所求,否则继续向上找。
...
分类:
其他好文 时间:
2014-08-19 16:39:15
阅读次数:
216
定义 排序二叉树的定义也是递归定义的,需要满足: (1)若它的左子树不为空,则左子树上所有节点的值要均小于根节点的值; (2)若它的右子树不为空,则右子树上所有节点的值要均大于根节点的值; (3)左、右子树也分别是排序二叉树 如下图,对于排序二叉树,若按中序遍历就可以得到由小到大的有序序列。 创建 创建排序二叉树的步骤就是不断像排序二叉树中添加新节点(p)的过程: (1)以根节...
分类:
编程语言 时间:
2014-08-18 18:45:22
阅读次数:
316
Basic:
TCP,传输控制协议,是目前网络中应用最广泛的传输协议。SMTP、SSH、FTP、HTTP等因特网底层协议均是TCP。
TCP面向连接,提供端到端的数据可靠传输。连接时三次握手,断开是四次挥手。具体表现为:
1、 TCP对传输的数据做了序号标记,其中序号标记安装字节数增长。TCP对端在接收到数据后发出一个ACK给对端(ACK中就包含序列号)。TC...
分类:
其他好文 时间:
2014-08-18 18:34:52
阅读次数:
227
题目:给出二叉树的一个结点,返回它中序遍历顺序的下一个结点。思路:如果有指向父亲的结点,则:如果当前结点有右儿子,或者当前结点是根结点,则后继结点为右子树的最左叶节点;否则,如果当前结点是父结点的左儿子,则后继结点就是父结点;(其实是第三种情况的一个特例,即自己是第0代祖先,返回第一代祖先)否则,向...
分类:
其他好文 时间:
2014-08-17 15:34:02
阅读次数:
292
1 /* 2 * 二叉树 3 * 4 * (将完全二叉树的数组形式改为链表形式) 5 * 6 * 1 7 * 2 3 8 * ...
分类:
其他好文 时间:
2014-08-17 11:39:16
阅读次数:
345
暂未发现什么bug,如果发现请指出。#includeusing namespace std;//定义二叉搜索树的结点struct Node{ int data; Node *lc,*rc,*parent;};//中序遍历二叉搜索树void show(Node *now){ if(n...
分类:
编程语言 时间:
2014-08-15 21:08:39
阅读次数:
305