哈希表是种数据结构,它可以提供快速的插入操作和查找操作。第一次接触哈希表时,它的优点多得让人难以置信。不论哈希表中有多少数据,插入和删除(有时包括侧除)只需要接近常量的时间即0(1)的时间级。实际上,这只需要几条机器指令。对哈希表的使用者一一人来说,这是一瞬间的事。哈希表运算得非常快,在计算机程序中,如果需要在一秒种内查找上千条记录通常使用哈希表(例如拼写检查器)哈希表的速度明显比树快,树的操作通...点击进入阅读全文

世界上存在永远不会出错的程序吗?也许这只会出现在程序员的梦中。随着编程语言和软件的诞生,异常情况就如影随形地纠缠着我们,只有正确处理好意外情况,才能保证程序的可靠性。Java 语言在设计之初就提供了相对完善的异常处理机制,这也是 Java 得以大行其道的原因之一,因为这种机制大大降低了编写和维护可靠程序的门槛。如今,异常处理机制已经成为现代编程语言的标配。今天我要问你的问题是请对比 Except...
点击进入阅读全文

从你接触 Java 开发到现在,你对 Java 最直观的印象是什么呢?是它宣传的 “Write once, run anywhere”,还是目前看已经有些过于形式主义的语法呢?你对于 Java 平台到底了解到什么程度?请你先停下来总结思考一下。今天我要问你的问题是谈谈你对 Java 平台的理解?“Java 是解释执行”,这句话正确吗?

典型回答

Java 本身是一种面向对象的语言,最显著的特性有两个...
点击进入阅读全文

B树的定义

一棵m阶的B树满足下列条件树中每个结点至多有m个孩子。除根结点和叶子结点外,其它每个结点至少有m/2个孩子。根结点至少有2个孩子(如果B树只有一个结点除外)。所有叶结点在同一层,B树的叶结点可以看成一种外部节点,不包含任何信息。有k个关键字(关键字按递增次序排列)的非叶结点恰好有k+1个孩子。看到上面的定义是不是感到十分熟悉,哈哈,是不是和-树的定义是一样的?这个是必须的,因为所谓...点击进入阅读全文

设f(n)为高度为n的平衡二叉树最少含有的节点数,则:f(1) = 1;f(2) = 2; f(3) = 4;f(4) = 7;…这些可以通过画图就能得到,但是当n很大时呢?其实有如下结论:f(n) = f(n-1) + f(n-2) +1,(n>=3)。这个递推结论如何得到的呢?引导问题:求一棵二叉树的节点数目假设一颗二叉树T,其左右子树分别为TL,TR。又假设T的节点数目为F(T),TL,...点击进入阅读全文

     

是什么?

    要了解平衡二叉树,先得了解什么是二叉树?

二叉树定义

在计算机中,二叉树是每一个节点最多有两个子树的结构。通常子树被称作“左子树(left subtree)”“右子树(right subtree)”. 二叉树常被用于实现二叉树查找和二叉堆。

什么是平衡二叉树

     平衡二叉树(Balance Binary Tree)是二叉树的一个进化体,是一个引入平衡概念的二叉树。与...
点击进入阅读全文

到目前为止,咱们讲了四种 RPC,分别是 ONC RPC、基于 XML 的 SOAP、基于 JSON 的 RESTful 和 Hessian2。通过学习,我们知道,二进制的传输性能好,文本类的传输性能差一些;二进制的难以跨语言,文本类的可以跨语言;要写协议文件的严谨一些,不写协议文件的灵活一些。虽然都有服务发现机制,有的可以进行服务治理,有的则没有。我们也看到了 RPC 从最初的客户端服务器模式,...
点击进入阅读全文