java之数据结构
文章平均质量分 81
xxniuren
这个作者很懒,什么都没留下…
展开
-
JAVA 数据结构之栈实现
1、栈的实现原理 栈用数组来实现相对较为方便,需要一个数组和一个整型变量,整型变量记录数组存入栈的下标位置,数组来顺序存储栈中的所有元素,假定数组元素用stackArray[maxSize]来表示,指示栈顶元素位置的整形变量用top来表示,通常称top为栈顶指针。这些具体的定义形式如下: final int maxSize=10;//初始化栈的深度为10原创 2016-07-27 15:51:16 · 424 阅读 · 0 评论 -
java数据结构之子最大子数组和
题:给定一个数组,其中当然有很多子数组,在所有两个子数组的组合中,找到相加和最大的一组,要求两个子数组无重合的部分,最后返回累加和。 1、解题思路 如果给一个数组为[ -1 -2 1 2 3 -4 -5 2 3 2 -1 -2],如果要得到其最大子数组和,那么我们可以遍历整个数组,找出该数组每一个元素的左边最大的子数组和,右边的最大子数组和,两个和相加,用一个全局变量maxResult保存最终原创 2016-07-28 14:55:57 · 473 阅读 · 0 评论 -
java数据结构之排序_排序算法的时空复杂度介绍
该内容摘自java程序员面试宝典第三版 排序稳定性:若存在多个关键字相同的记录,经过排序后,这些具有相同关键字的记录之间的相对次序保持不变,则称该排序算法为稳定的排序算法;若具有相同关键字的记录之间的相对次序发生了变化,则称这种排序方法是不稳定的。 稳定的排序算法为: 稳定的排序算法 时间复杂度 空间复杂度 气泡排序(bubble sort) 最差、平均都转载 2016-07-29 10:46:37 · 564 阅读 · 0 评论 -
java数据结构之二叉树
1、二叉树各功能模块介绍 1.1、创建二叉树 二叉树数据输入是广义表输入形式:A(B(C),D(E(F,G),H(,I)))。创建该二叉树使用的是非递归方式。整个流程为:A是根元素,B、D为A的子节点,所以输入A时,把A作为根结点,遇到左括号(证明下一个有效数据输入是A的子树),此时把A压入栈中,接着来的数据是B,此时把A的数据读出来(但是此时原创 2016-07-28 00:09:59 · 820 阅读 · 0 评论 -
java数据结构之图(邻接矩阵和邻接表)
JAVA数据结构之图 1、图的介绍和原理 1.1、图的基本概念 图是由顶点集(VertexSet)和边集(EdgeSet)组成,针对图G,顶点集和边集分别记为V(G)和E(G)。依据图的边集是否为有向,可把图分为有向图和无向图,根据图是否有权重,可以分为有权图和无权图。 图的基本术语: 1:邻接点----在一个无向图中,若存在一条边(Vi,Vj),则称Vi,Vj为此边的两个端点,并称它们原创 2016-08-16 13:02:21 · 27314 阅读 · 8 评论 -
Java数据结构之二叉搜索树
Java数据结构之二叉搜索树 1、二叉搜索树组成 二叉搜索树又称为二叉排序树,它或者是一颗空树,或者是一颗具有如下特性的非空二叉树,需要满足一下三个条件: (1)若它的左子树非空,则左子树上所有结点的关键字均小于根结点的关键字; (2)若它的右子树非空,则右子树上所有结点的关键字均大于(可以等于)根结点的关键字。 (3)左子树右子树本身又各是一颗二叉搜索树 在算法描述中,均以结点值的原创 2016-08-30 18:56:19 · 1508 阅读 · 0 评论 -
JAVA数据结构之集合
JAVA数据结构之集合 1、集合概述 java语法中的集合,又称为容器,它是一个对象,专门用来管理一组其他对象。集合可以用来存储、检索、操作和统计一组其他对象。在集合内的对象称之为元素。在javaSE API中的java.util包中专门设计了一组接口和类,来实现各种各样的对象存储结构,这样的一组接口和类的设计结构被称为JAVA集合框架。 集合的主要接口和常用的实现类的层次结构如下图所示:原创 2016-08-30 21:06:57 · 811 阅读 · 0 评论