
数据结构
shixiaoguo90
这个作者很懒,什么都没留下…
展开
-
求满二叉树上任意两个节点的最近公共父节点
北大百练题2756: 如上图所示,由正整数1, 2, 3, ...组成了一棵无限大的二叉树。从某一个结点到根结点(编号是1的结点)都有一条唯一的路径,比如从10到根结点的路径是(10, 5, 2, 1),从4到根结点的路径是(4, 2, 1),从根结点1到根结点的路径上只包含一个结点1,因此路径就是(1)。对于两个结点x和y,假设他们到根结点的路径分别是(x1, x2, ... ,转载 2014-04-14 16:08:58 · 1515 阅读 · 0 评论 -
红黑树简介
一、红黑树(Red-Black Tree)是二叉搜索树(Binary Search Tree)的一种。二叉搜索树在最坏的情况下可能会变成一个链表(当所有节点按从小到大的顺序依次插入后)。这种低效产生的原因是树没有维持一定的平衡性,要提高搜索效率,就要想办法来维持树左边的平衡,也就是要尽时降低树的高度,可行的做法就是用一些策略在每次修改树的内容之后都调整树的结构,使之满足一定的平衡条件。其中一种满足转载 2014-04-09 14:14:49 · 889 阅读 · 0 评论 -
《算法导论》读书笔记之第12章 二叉查找树
摘要: 本章介绍了二叉查找树的概念及操作。主要内容包括二叉查找树的性质,如何在二叉查找树中查找最大值、最小值和给定的值,如何找出某一个元素的前驱和后继,如何在二叉查找树中进行插入和删除操作。在二叉查找树上执行这些基本操作的时间与树的高度成正比,一棵随机构造的二叉查找树的期望高度为O(lgn),从而基本动态集合的操作平均时间为θ(lgn)。 1、二叉查找树 二叉查找树是按照转载 2014-04-09 09:27:08 · 743 阅读 · 0 评论 -
堆和栈的区别
堆(Heap)栈(Stack) 1、内存分配方面: 堆:一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式是类似于链表。可能用到的关键字如下:new、malloc、delete、free等等。 栈:由编译器(Compiler)自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。转载 2014-04-23 16:37:02 · 553 阅读 · 0 评论 -
a,b两个值相互交换
public static void swap2(Num num) { num.a = num.a * num.b; num.b = num.a / num.b; num.a = num.a / num.b; } public static void swap3(Num num) { num.a = num.a - num.b; num.b原创 2014-04-20 15:22:25 · 1153 阅读 · 0 评论 -
二叉树前序、中序、后序遍历相互求法
二叉树前序、中序、后序遍历相互求法 今天来总结下二叉树前序、中序、后序遍历相互求法,即如果知道两个的遍历,如何求第三种遍历方法,比较笨的方法是画出来二叉树,然后根据各种遍历不同的特性来求,也可以编程求出,下面我们分别说明。 首先,我们看看前序、中序、后序遍历的特性: 前序遍历: 1.访问根节点 2.前序遍历左子树 3.前序转载 2014-03-25 14:57:01 · 1209 阅读 · 0 评论 -
Trie字典树应用HDU--1251
HDU--1251题 统计难题 这个题用到了字典树。 这个知识点是栋栋哥上个星期五讲的,其他几个人也都做过这方面的练习,我直到昨天下午才弄字典树的题。速度慢了不止一拍。这两天学校的网速基本就是老乌龟一个档次的,昨天更是神奇的连网页也打不开,所以这篇解题报告直到 现在才写。各位,原谅我的懒惰吧! 简单的写一下自己的思路和感悟。字典树其实是一种非常好用的统计方法,特别是当传统的排序、统计转载 2014-04-16 14:05:47 · 683 阅读 · 0 评论 -
微软面试题: 找出二叉树上任意两个结点的最近共同父结点。
找出二叉树上任意两个结点的最近共同父结点。 要求两节点的最近共同父节点(LCA,lowest common ancestor),可以采用树的后序遍历。如果这两个节点不在一条线上,则它们必定分别在所求节点A的左子树和右子树上,后序遍历到第一个满足这个条件的节点就是所要求的节点A。另外,当这两个节点在一条线上,所求节点A则是这两个节点中层次最低的节点的父节点。转载 2014-04-16 10:01:38 · 3875 阅读 · 0 评论 -
二叉树根节点到指定节点的路径
题目描述:给定一棵二叉树和二叉树中一个节点,输出根节点到指定节点间的路径。 10 / \ 5 12 / \ 4 7 指定节点7,那么输出路径应该是10-5-7。 分析与解法: 这个题目是在我做过蛮多二叉树的题目之后总结的一道题目。发现很多题目都可以抽象出来这个题目。其实二转载 2014-04-15 14:54:37 · 13658 阅读 · 0 评论 -
JSON与XML的区别比较
JSON与XML的区别比较 1.定义介绍 (1).XML定义 扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 XML使用DTD(document type definition)文档类型定义来组织数据;格式统一,跨转载 2014-11-26 11:26:27 · 496 阅读 · 0 评论