02 2016 档案
摘要:Java输入输出大致可以分为两类,流式操作与非流式操作,流式操作主要关注与文件内容的读写,非流式操作主要用于文件在磁盘上的管理。下面首先学习流式数据操作。 流 与c++类似,java中也提供了流的概念来处理输入输出(I/O)。Java中,可以从其中读入一个字节序列的对象称为输入流,可以向其中写入一个
阅读全文
摘要:使二叉树成为二叉查找树的性质是,对于树中的每个节点X,它的左子树中所有关键字值小于X的关键字值,而它的右子树中所有关键字值大于X的关键字值。这意味着,该树所有的元素以某种统一的方式排序。 二叉查找树的声明 二叉查找树是一棵特殊的二叉树,二叉查找树中节点的结构与二叉树种节点的结构相同,关键在于可以在二
阅读全文
摘要:集合的接口与实现分离 Java中的集合遵循接口与实现分离的原则,接口描述集合类要实现的功能,而具体的类则实现(implements)集合接口。同时,Java集合的接口和实现类都是范型的,范型编程最基本(原始)的功能就是用来实现集合的。利用范型,在只编写一套代码的情况下集合可以保存不同类型的对象。 下
阅读全文
摘要:类通常提供一个公有的构造器方法,以此来让客户端可以获取自己(类)的一个实例。但是在创建对象时,应该首先考虑利用静态工厂方法代替构造器来返回一个实例。利用静态工厂方法而不是公有的构造器有几个优势: 静态工厂方法有(不同的)名字 构造器方法都有相同的名字,就是类的名字。区分不同构造器的方法是通过观察方法
阅读全文
摘要:要研究二叉查找树(binary search tree)首先要熟悉二叉树(binary tree)的概念与性质,二叉查找树是在二叉树基础上衍生出的数据结构。 二叉树 二叉树是一棵树,其中每个节点都不能有多于两个(<=2)的儿子。二叉树的一个性质是平均二叉树的深度要比N小得多。分析表明,这个平均深度为
阅读全文
摘要:线性数据结构(例如链表)在检索数据项时,最坏情况下可能需要遍历整个链表才能找到检索的数据项或者直接没有找到要检索的数据项,这样检索数据的时间复杂度为O(n),其中n为链表的大小(即链表中数据项的数目)。当需要处理的数据量很大时,这样的时间复杂度是不可接受的。而使用二叉查找树(binary searc
阅读全文

浙公网安备 33010602011771号