全国校区
北京
深圳
上海
广州
武汉
成都
西安
郑州
南京
长沙
Java实验班
Java就业班
Java在职加薪班
Java架构师班
Java夜校班
JavaSE
数据库
JavaWeb
流行框架
分布式
微服务
线索二叉树是指在二叉树的结点上加上线索的二叉树。这里的线索指的是对于n个结点的二叉树,在二叉链存储结构中有n+1个空链域,利用这些空链域存放在某种遍历次序下该结点的前驱结点和后继结点的指针。本文我们就将以这些指针为线索来为大家解析线索二叉树。一个二叉树通过如下的方法“穿起来”:所有原本为...
线性表是最基本、最简单、也是最常用的一种数据结构,一个线性表是n个具有相同特性的数据元素的有限序列。数据元素是一个抽象的符号,其具体含义在不同的情况下一般不同。在稍复杂的线性表中,一个数据元素可由多个数据项(item)组成,此种情况下常把数据元素称为记录(record),含有大量记录的线性表又称文件(file)...
二叉树(BinaryTree)是n(n>=0)个结点的有限集合,该集合或者为空集(称为空二叉树),或者由一个根结点和两棵互不相交的、分别称为根结点的左子树和右子树的二叉树组成。在二叉树中又有一些特殊的存在,各种有着基于二叉树特性之外的特点,我们称之为特殊二叉树。为了更好的理解特殊二叉树,我们先来看看二叉树...
在算法的实现中,遍历与递归是经常出现的两种操作。遍历其实就是使用一个for循环来遍历集合里的元素,在编程中经常出现,通俗易懂,至于递归,我们先来看看递归的概念:在数学与计算机科学中,是指在函数的定义中使用函数自身的方法。其实递归在程序语言中简单的理解就是方法自己调用自己。递归其实和循环是非常像的,循环都可以改写...
贪心算法,又名贪婪算法,顾名思义,是指在对问题求解时,总是作出在当前看来最好的选择。也就是说贪心算法并不从整体最优考虑,它所作出的选择只是在某种意义上的局部最优选择。贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择,选择的贪心策略必须具备无后效性,即某个状态以前的过程不会影响以后的状态,只与当前状...
排序算法是数据结构与算法中最基本的算法之一,排序算法,就是如何使得记录按照要求排列的方法。排序算法在很多领域得到相当地重视,尤其是在大量数据的处理方面独具优势。本文我们就来介绍一下数据结构和算法中的10大排序算法。1、冒泡排序(BubbleSort)冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次...
抽象数据类型(abstractdatatype,ADT)实际上只是一个数学模型以及定义在模型上的一组操作。当然,这里的抽象是动词而不是名词,即通常是对数据的抽象,定义了数据的取值范围以及对数据操作的集合。抽象数据类型有两个关键词,一个叫“数据类型”,一个叫“抽象”...
HTTP协议在Java开发中算是耳熟能详的几个著名的互联网协议之一,无论是对于一个开发者还是Java初学者来说,HTTP协议毋容置疑是非常重要的,也是我们在求职面试中作为基础被经常问到的内容。那么,HTTP协议是什么,又在Java开发中扮演着什么样的角色呢?下面我们来一一揭晓答案。我们大家都知道家喻户晓的万维网...
数据结构首先,要清楚数据结构的概念:数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。我们在清楚java数据结构后,可以通过选择使用适当的数据结构来提高程序的运行或者存储效率。数据结构与算法的学习路线(粗糙)线性数据结构:各类线性结构常用的使用场景数组:特点:元素...
RandomAccessFile类创建的流称作java随机流,RandomAccessFile类既不是InputStream类的子类,也不是OutputStream类的子类。随机流不属于IO流,支持对文件的读取和写入随机访问。当准备对一个文件进行读写操作时,创建一个指向该文件的随机流即可,这样既可以从这个流中读...