树的基本结构
public class TreeNode
{
public TreeNode leftNode;
public TreeNode rightNode;
public T data;
public TreeNode(T data)
{
this.data = data;
}
} 1.构建一颗树(本文以表达式树为例,...
分类:
编程语言 时间:
2015-04-01 20:07:30
阅读次数:
357
这一章要讲的数据结构基本以实用为主。 12.1 自顶而下的伸展树 一些定义 展开:对于树的操作,叶结点X被插入之后,经过旋转使X成为新的树根。 摊还时间:在摊还分析中的一个概念,就是求一个操作的所有情况的平均时间。和O()的时间不同,后者体现的是最糟糕的情况下程序完成所要花费的时间。 P345之中,...
分类:
编程语言 时间:
2015-02-21 15:28:41
阅读次数:
164
伸展树是:任意M次对树的操作最多花费O(MlogN)的时间。摊还时间:如果M次操作运行O(MF),那么摊还时间就是O(F)展开:分为三种情况:①X节点的爸爸就是根节点那么旋转一次即可咯②X有爷爷,且为左左左或右右右所谓的zig-zig一字型,那么先对k1-k2转,再对k2-k3转,③X有爷爷,且为之...
分类:
其他好文 时间:
2015-02-16 19:36:45
阅读次数:
210
【简介】
Beautiful Soup是一个可以从HTML或XML文件中提取数据的Python库。即HTML/XMLX的解析器。
它可以很好的处理不规范标记并生成剖析树(parse tree)。 它提供简单又常用的导航(navigating),搜索以及修改剖析树的操作。它可以大大节省你的编程时间。
【安装】
下载地址:点击打开链接
Linux平台安装:
如果你用的是新版的Deb...
分类:
编程语言 时间:
2014-12-20 23:33:05
阅读次数:
529
二叉排序树(Binary Sort Tree)又称二叉查找树(Binary Search Tree),亦称二叉搜索树。 它或者是一棵空树;或者是具有下列性质的二叉树:(1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值;(2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值;(3)左、右子树也分别为二叉排序树;
二叉树的操作:
1.查找:
例如查找...
分类:
其他好文 时间:
2014-11-14 15:47:23
阅读次数:
226
使用 ZTree.js 对树的操作 增加,删除,修改...
分类:
Web程序 时间:
2014-11-07 17:06:59
阅读次数:
267
对于线段树的操作,维护左端值,维护右端值,维护种类数,更新的时候,如果左儿子的右端==右儿子的左端,种类数减一,剩下的就是细节了。#include#include#include#include#include#includeusing namespace std;#define lson l,mi...
分类:
其他好文 时间:
2014-11-05 22:53:52
阅读次数:
294
看了一下数据结构中树的操作,A这题感觉好一点了。Symmetric Tree和这个很相似来着,可以借鉴一下这个思路。用递归处理Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that ...
分类:
其他好文 时间:
2014-11-03 23:55:42
阅读次数:
184
对二叉树的遍历: 先序遍历:【先访问根节点】 先访问根节点, 再先序访问左子树, 再先序访问右子树; ————递归关系 中序遍历:【中间访问根节点】 中序遍历左子树, 再访问根节点, 再中序遍历右子树; ————递归关系 后序遍历...
分类:
其他好文 时间:
2014-11-02 22:18:20
阅读次数:
197
这个是常见的对二叉树的操作。总结一下:设节点的数据结构,如下:1 class TreeNode {2 char val;3 TreeNode left = null;4 TreeNode right = null;5 6 TreeNode(char _val) {7 ...
分类:
编程语言 时间:
2014-10-20 14:50:57
阅读次数:
181