E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
【JAVA数据结构】
JAVA数据结构
之链表
链表:单链表,双链表,循环链表 单链表:每个节点有一个内容和一个地址,这个地址指向下一个节点。第一个加入链表的节点为头结点,它的地址指向第二个节点,第二个节点地址指向第三个节点。。。最后一个节点的地址指向null。如图所示: 由这样的关系,我们容易得知只要知道first,我们就可以用first.next.next.....取到每一个节点元素。对于单链表,我们要实现他的创建,添加,插入,删除,查询
肆无忌惮_
·
2014-07-18 12:00
java
进阶之路(成神之路)
反射机制和动态代理以及cglib和AOP java类加载机制 面向对象设计原则和java与设计模式 java IO/nio aio socket 以及mina和netty
java
tiankong6622
·
2014-07-14 20:00
java
linux
mysql
jni
hessian
Java数据结构
Map,List,Set及Queue相关的类图
闲来无事,把util包中相关的数据结构的类图及其关系画了一下,给大家分享一下。总览图: Map: List and Set: Queue:
fenglibing
·
2014-07-12 21:00
Java数据结构
遍历 排序 查找 算法实现
1. 遍历算法(遍历二叉树6种方法)1.1. 概述遍历算法针对二叉树而言的,主要有先序、中序、后序三种遍历顺序,三种顺序又分别有递归和常规算法,二叉树遍历的主要思想是:遍历左子树,遍历右子树,访问根节点,由这三者的遍历顺序来确定是先序、中序还是后序。下面只要求掌握递归遍历算法,常规遍历算法见附录一。1.2. 先序遍历算法遍历顺序:访问根节点,遍历左子树,遍历右子树。代码如下:void preOrd
zhanghao_Hulk
·
2014-06-27 23:00
java
android
遍历
排序算法
java数据结构
(1)数组的简单栈实现publicclassMyStack{ privateintmaxSize; privatelong[]arr; privateinttop; //构造方法 publicMyStack(intsize){ maxSize=size; arr=newlong[maxSize]; top=-1; } //压入数据 publicvoidpush(longvalue){ ar
hao707822882
·
2014-06-14 15:00
java
数据结构
Java数据结构
JAVA数据结构
线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构。这些类均在java.util包中。
sxb0841901116
·
2014-06-11 23:00
java
数据结构
Java数据结构
与算法之集合
线性表、链表、哈希表是常用的数据结构,在进行Java开发时,SDK已经为我们提供了一系列相应的类来实现基本的数据结构。这些类均在java.util包中。 一、Collection接口 Collection是最基本的集合接口,一个Collection代表一组Object。一些Collection允许相同元素而另一些不行。一些能排序而另一些不行。Java SDK不提供直接继承自Co
u013339851
·
2014-06-11 20:00
数据结构
Java数据结构
与算法之栈和队列
此类数据结构和算法更多是作为程序员的工具来运用。他们主要作为构思算法的辅助工具,而不是完全的数据存储工具。这些数据结构的生命周期比那些数据库类型的结构要短得多。在程序操作执行期间它们才被创建,通常用它们去执行某项特殊任务,当完成任务之后,它们就被销毁。 两个特点: 1、访问受限 访问是受限制的,即在特定时刻只有一个数据项可以被读取或者被删除。 2、更加抽象 栈、队列和优先级队列是比数
u013339851
·
2014-06-09 10:00
数据结构
算法
栈
Java数据结构
与算法之排序
排序从大体上来讲,做了两件事情: 1、比较两个数据项; 2、交换两个数据项,或复制其中一项 一、冒泡排序 大O表示法:交换次数和比较次数都为O(N*N)。 算法原理:1、比较相邻的元素。如果第一个比第二个大,就交换他们两个。2、对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。3、针对所有的元素重复以上的步骤,除了最后一个。4、持续每次
u013339851
·
2014-06-09 09:00
数据结构
算法
java数据结构
-HashMap
一直以来似乎都有一个错觉,认为map跟其他的集合类一样继承自Collection,其实不然,Map和Collection在结构层次上是没有任何关系的,通过查看源码可以发现map所有操作都是基于key-value对,而不是单独的元素。下面以HashMap为例子,深入对Map的实现机制进行了解,在这个过程中,请打开jdk源码。Hash算法HashMap使用Hash算法,所以在解剖HashMap之间,需
kobe_lzq
·
2014-05-24 15:00
java数据结构
面试题
1、面试题,字符串Strings=”sfds55d66s76455dfg32434eertertre”;怎么样把非数字全部去除,只保留数字?可以使用正则表达式完成,如:s.replaceAll(“[^0-9]“,”"),这样非数字就全部去除了,只保留数字了。2、面试题,如果一个List中放了十个Student对象,需要按照年龄排序,如何实现?可以实现Comparable接口或实现Comparato
佛说技术
·
2014-05-22 16:03
数据结构和算法
java数据结构
冒泡排序的遍历与排序
java的冒泡排序是一种简单的排序规则 冒泡排序的原理: 比较两个相邻的数,首先将最大的排在第一个,第二次比较第二个 ,此后一样; 针对所有的元素重复以上的步骤,除了最后一个 例题;将int array[]
百合不是茶
·
2014-05-16 13:00
java
【笔试面试】四道有点难笔试题(数据结构)
回来之后仔细百度了一下,研究完答案之后,我真是不知道为什么出这种题,这题考的是
java数据结构
,比如二叉树。但姑且放在这里也算供大家学习了。
零度弥合
·
2014-04-04 17:00
数据结构
Java数据结构
--栈的实现
Java中是没有栈这种数据结构的,如果想利用栈的先进后出(FILO),就必须自己动手实现。栈的底层可以使用数组,也可以使用Java中的容器类,如ArrayList、LinkList等。栈最常用的操作主要是压栈(push)、出栈(pop)、查看栈顶元素(peek)、判断栈是否为空(isEmpty)、返回栈的当前大小。原则上栈中有一个指针指向栈顶元素。1、底层基于数组的栈实现:importjava.u
DR达仁
·
2014-03-30 21:27
栈
java
数据结构
栈的实现
arraylist
算法
Java数据结构
--栈的实现
Java中是没有栈这种数据结构的,如果想利用栈的先进后出(FILO),就必须自己动手实现。栈的底层可以使用数组,也可以使用Java中的容器类,如ArrayList、LinkList等。栈最常用的操作主要是压栈(push)、出栈(pop)、查看栈顶元素(peek)、判断栈是否为空(isEmpty)、返回栈的当前大小。原则上栈中有一个指针指向栈顶元素。1、底层基于数组的栈实现:importjava.u
DR达仁
·
2014-03-30 21:00
Java数据结构
--栈的实现
Java中是没有栈这种数据结构的,如果想利用栈的先进后出(FILO),就必须自己动手实现。栈的底层可以使用数组,也可以使用Java中的容器类,如ArrayList、LinkList等。栈最常用的操作主要是压栈(push)、出栈(pop)、查看栈顶元素(peek)、判断栈是否为空(isEmpty)、返回栈的当前大小。原则上栈中有一个指针指向栈顶元素。 1、底层基于数组的栈实现: import
diaoaa
·
2014-03-30 21:00
java
java数据结构
之java实现栈
复制代码代码如下:importjava.util.Arrays;/***栈的实现*@authorSkip*@version1.0*/publicclassStack{privateintsize;//栈中元素的个数privateObject[]arr;//底层数组privatefinalintdefaultLength=200;//默认长度/***无参构造,使用默认长度初始化数组*/publicS
·
2014-03-21 09:49
java数据结构
之实现双向链表的示例
复制代码代码如下:/***双向链表的实现*@authorSkip*@version1.0*/publicclassDoubleNodeList{//节点类privatestaticclassNode{Nodeperv;//前节点Nodenext;//后节点Tdata;//数据publicNode(Tt){this.data=t;}}privateNodehead;//头节点privateNodel
·
2014-03-21 09:14
Java数据结构
和算法
阅读更多数据结构是对在计算机内存中(有时候在磁盘中)的数据的一种安排。数据结构包括数组、链表、栈、二叉树、哈希表等等。数据结构有哪些用途呢?首先,可以模拟现实世界数据的存储,进行现实世界的建模,最重要的数据结构是图,可以用来表示城市之间,城市内部的道路,电路中的连接,或是任务的安排关系;其次,有些数据结构并不打算让用户接触,它们仅被程序本身所使用,程序员经常将诸如栈、队列、优先级队列等结构当作程序
brandNewUser
·
2014-03-17 09:00
java
数据结构
Java数据结构
和算法
数据结构是对在计算机内存中(有时候在磁盘中)的数据的一种安排。数据结构包括数组、链表、栈、二叉树、哈希表等等。 数据结构有哪些用途呢?首先,可以模拟现实世界数据的存储,进行现实世界的建模,最重要的数据结构是图,可以用来表示城市之间,城市内部的道路,电路中的连接,或是任务的安排关系;其次,有些数据结构并不打算让用户接触,它们仅被程序本身所使用,程序员经常将诸如栈、队列、优先级队列等结构当作程序员的
brandNewUser
·
2014-03-17 09:00
java
数据结构
java数据结构
实现顺序表示例
复制代码代码如下:importjava.util.Arrays;/***顺序线性表的实现*/publicclassLineList{privateintsize;//长度privateObject[]array;//底层数组privatefinalintdefault_length=16;//默认长度/***无参构造方法*/publicLineList(){size=0;//使用默认长度构造数组a
·
2014-03-17 09:46
Java数据结构
学习
Set无序不重复,遍历只能使用迭代器或增强for循环(对java编译器而言,等价)。1)hashSet:用hash表实现;2)TreeSet:用排序二叉树实现;当通过contains方法判断set集合中是否包含某个对象时,需要首先根据该对象的hashCode值索引到特定的空间,然后再和空间中的对象调用equals方法进行比较。这种针对性的查找方式不同于线性表的逐个比较,有较高的效率。对于重写equ
zi413293813
·
2014-03-13 21:00
java
数据结构
HashMap实现原理之我的理解
【
Java数据结构
和算法(第二版)】写道: 数据结构是指对内存或硬盘中数据的一种安排。可以理解成数据存放或排列时的结构,如数组,链表,二叉树,哈希表等。而算法则是对数据结构中数据进行的处理。
完美天龙
·
2014-03-06 16:00
HashMap
java数据结构
和算法学习之汉诺塔示例
复制代码代码如下:packagecom.tiantian.algorithms;/***_|_1||*__|__2||*___|___3||(1).把A上的4个木块移动到C上。*____|____4||*ABC**|||*|_|_1|*|__|__2|要完成(1)的效果,必须要把1、2、3木块移动到B,这样才能把4移动到C*____|____4___|___3|如:代码中的“调用(XX)”*ABC
·
2014-02-10 09:13
推荐书籍
这本书绝对是不可或缺的,什么 thinking in java, java核心技术6,7,8 都弱爆了, 有时间还是先看 《深入理解Java虚拟机》 最近看了一下,他讲解了
java
younglibin
·
2014-01-16 10:00
推荐
推荐书籍
这本书绝对是不可或缺的,什么 thinking in java, java核心技术6,7,8 都弱爆了, 有时间还是先看 《深入理解Java虚拟机》 最近看了一下,他讲解了
java
younglibin
·
2014-01-16 10:00
推荐
java数据结构
之排序
冒泡排序(BubbleSort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。冒泡排序算法的运作如下: 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素作同样的工作,从开始第一
如何学好java
·
2014-01-02 22:00
排序算法(二)_希尔排序、快速排序、归并排序的Java实现
今天来聊聊
Java数据结构
中关于排序的问题,如题涉及到的有希尔排序,归并排序,快速排序。
u011638883
·
2013-12-25 09:00
java实现
希尔排序
快速排序
归并排序
面试10大算法汇总+常见题目解答
面试10大算法汇总+常见题目解答博客分类: java算法面试
java数据结构
ide 以下用Java角度解释面试常见的算法和数据结构:字符串,链表,树,图,排序,递归vs.迭代,动态规划,位操作,概率问题
oMingZi12345678
·
2013-12-18 09:00
面试10大算法汇总+常见题目解答
阅读更多面试10大算法汇总+常见题目解答博客分类:java算法面试
java数据结构
ide以下用Java角度解释面试常见的算法和数据结构:字符串,链表,树,图,排序,递归vs.迭代,动态规划,位操作,概率问题
javaWolf_1
·
2013-12-17 09:00
算法
面试
java
算法
面试
java
数据结构
ide
java数据结构
----图的基本操作
java数据结构
----图的基本操作 实验四、图的基本操作一、实验目的1、熟练掌握图的邻接矩阵和邻接表存储结构;2、掌握图的创建方法;3、掌握求顶点度的方法;4、掌握图的深度优先和广度优先遍历方法;二、
slicer
·
2013-12-12 00:00
语言/理论
java 数据结构——堆栈和队列
java数据结构
——堆栈和队列队列的基本概念队列(简称队)也是一种特殊的线性表,队列的数据元素以及数据元素间的逻辑关系和线性表完全相同。
qileilove
·
2013-11-08 14:00
Java数据结构
--------堆栈和队列
本章相关介绍:堆栈和队列都是特殊的线性表。线性表、堆栈和队列三者的数据元素以及数据元素间的逻辑关系完全相同,差别是线性表的插入和删除操作不受限制,而堆栈只能在栈顶插入和删除,队列只能在队尾插入,在队头删除。堆栈和队列都可以分别用顺序存储结构和链式存储结构存储。顺序队列通常采用顺序循环队列方法实现,因为顺序循环队列可以避免顺序队列的“假溢出”问题。优先队列是带有优先级的队列。堆栈堆栈(也称为栈)是一
在奋斗的大道
·
2013-11-04 16:20
算法导论(java版本)
java数据结构
_笔记(5)_图的算法续
图的算法续上一篇 5最短距离 在许多应用领域,带权图都被用来描述某个网络,比如通信网络、交通网络。这种情况下,各边的权重就对应于两点之间通信的成本或交通费用。此时,一类典型的问题就是:在任意指定的两点之间如果存在通路,那么最小的消费是多少。这类问题实际上就是带权图中两点之间最短路径的问题。 对于求解最短路径问题:A)有时应当是有向图:如同一信道两个方向的信息流量不同,会造成信息从终端
xiyf2046
·
2013-10-15 11:00
java数据结构
_笔记(5)_图的算法
图的算法1图的遍历 图的遍历就是从图中某个顶点出发,按某种方法对图中所有顶点访问且仅访问一次。 遍历算法是求解图的连通性问题、拓扑排序和求关键路径等算法的基础。2深度优先遍历 从图中某个顶点V出发,访问此顶点,然后依次从V的各个未被访问的邻接点出发 深度优先搜索遍历图,直至图中所有和V有路径相通的顶点都被访问到。若此时图中 善有顶点未被访问,则另选图中一个未被访问的顶点作为起
xiyf2046
·
2013-10-15 11:00
java数据结构
_附12_图、顶点和边的定义(双链存储)
图--双链式存储结构顶点和边的定义1、Vertex.java2、Edge.java3、AbstractGraph.java1、publicclassVertex{ privateObjectinfo;//顶点信息 privateLinkedListadjacentEdges;//顶点的邻接边表 privateLinkedListreAdjacentEdges;//顶点的逆邻接边表,无向图时
xiyf2046
·
2013-10-14 15:00
java数据结构
_附11_图的接口定义
图的接口定义GraphpublicclassUnsupportedOperationextends RuntimeException{ publicUnsupportedOperation(Stringerr){ super(err); } } publicinterfaceGraph{ publicstaticfinalintUndirectedGraph=0;//无向图 public
xiyf2046
·
2013-10-14 15:00
java数据结构
_笔记(4)_图
图一、概念。图:是一种复杂的非线性数据结构。图的二元组定义: 图G由两个集合V和E组成,记为: G=(V,E) 其中:V是顶点的有穷非空集合, E是V中顶点偶对(称为边)的有穷集。 通常,也将图G的顶点集和边集分别记为V(G)和E(G)。E(G)可以是空集。若E(G)为空,则图G只有顶点而没有边。有向图:若图G中的每条边都是有方向的,则称G为有向图(D
xiyf2046
·
2013-10-14 15:00
从倒水问题到欧几里得算法扩展
从倒水问题到欧几里得算法扩展分类:
Java数据结构
2013-09-1721:38 84人阅读 评论(0) 收藏 举报Java算法欧几里得算法扩展倒水问题 今天在庞果网做了一道题,倒水问题,题目如下,
pi9nc
·
2013-09-20 10:00
java数据结构
Java中ArrayList和LinkedList区别
Java中ArrayList和LinkedList区别博客分类:Java知识点
Java数据结构
算法Access 一般大家都知道ArrayList和LinkedList的大致区别: 1.ArrayList
dreamtdp
·
2013-09-13 10:00
对加强for循环的感悟
今天看
java数据结构
的时候,突然想明白了这个问题,在一些时候,加强for循环会比普通的for循环效率高很多,大家一般在遍历list的时候都会使用加强for循环,但是为什么这样用,相信没有多少人明白其中的道理
ft305977550
·
2013-09-09 18:00
【
Java数据结构
】
Java数据结构
之链表反转
我们都知道用C可以很简单的实现单链表反转,今天来学习下,在Java中如何实现链表反转。思路很简单,定义一个类,这个类分成2块,一块是表示自身的标志,另外一个存储指向下一个元素的引用。通过互换相邻两个节点的引用来达到链表反转的效果。上代码:packagecom.withiter.test; publicclassReverseList{ /** *@paramargs */ publicstat
huxiweng
·
2013-09-06 17:00
【
Java数据结构
】3.2链式栈
链式栈采用链式存储结构的栈push()、pop()、peek()方法的时间复杂度为O(1)java实现:packagecom.ds.stack; publicclassLinkedStack{ /** *title:单链表类 * *@authorzhb * *@param */ privateclassNode{ publicTdata;//数据域保存数据元素 publicN
CGameWindow
·
2013-09-04 20:20
java数据结构
Java实现栈
java栈实现
java实现链式栈
java链式栈
【
Java数据结构
】3.1 顺序栈
栈定义: 栈(Stack)是一个后进先出(Lastinfirstout,LIFO)的线性表,它要求只在表尾进行删除和插入操作。 图如下:特点: 一、栈特殊的线性表(顺序表、链表),它在操作上有一些特殊的要求和限制:栈的元素必须“后进先出”。 三、栈的表尾称为栈的栈顶(top),相应的表头称为栈底(bottom) 二、栈的操作只能在这个线性表的表尾进行。顺序栈的实现:push()、pop(
CGameWindow
·
2013-09-04 19:38
java数据结构
Java实现栈
java实现顺序栈
java顺序栈
【
Java数据结构
】2.5单循环链表的连接与判定
特点 循环链表的特点是无须增加存储量,仅对表的链接方式稍作改变,即可使得表处理更加方便灵活。链表的连接:【例】在链表上实现将两个线性表(a1,a2,…,an)和(b1,b2,…,bm)连接成一个线性表(a1,…,an,b1,…bm)的运算。分析:若在单链表或头指针表示的单循环表上做这种链接操作,都需要遍历第一个链表,找到结点an,然后将结点b1链到an的后面,其执行时间是O(n)。若在尾指针表示
CGameWindow
·
2013-09-04 19:17
java数据结构
java实现单循环链表
java循环链表
【
Java数据结构
】2.4单循环链表的实现
定义: 单循环链表――在单链表中,将终端结点的指针域NULL改为指向表头结点或开始结点即可。带头结点 判断空链表的条件是head==head.next;带尾节点 用尾节点rear表示的单循环链表对开始结点a1和终端结点an查找时间都是O(1)。而表的操作常常是在表的首尾位置上进行,因此,实用中多采用尾指针表示单循环链表。带尾指针的单循环链表可见下图。 注意:判断空链表的条件为rear=
CGameWindow
·
2013-09-04 19:56
java数据结构
java实现循环链表
java循环链表
【
Java数据结构
】2.3双向链表的迭代实现
上一章 双向链表的简单实现,本章介绍迭代实现模式 使用迭代模式的优点: 1,实现功能分离,简化容器接口。让容器只实现本身的基本功能,把迭代功能委让给外部类实现,符合类的设计原则。 2,隐藏容器的实现细节。 3,为容器或其子容器提供了一个统一接口,一方面方便调用;另一方面使得调用者不必关注迭代器的实现细节。 4,可以为容器或其子容器实现不同的迭代方法或多个迭代方法。
CGameWindow
·
2013-09-04 17:20
java数据结构
java实现双向链表
java双向链表迭代实现
【
Java数据结构
】2.2双向链表的简单实现
按链表的组织形式分有ArrayList和LinkList两种。ArrayList内部其实是用数组的形式实现链表,比较适合链表大小确定或较少对链表进行增删操作的情况,同时对每个链表节点的访问时间都是constant;而LinkList内部以一个List实现链表,比较适合需要频繁对链表进行操作的情况,对链表节点的访问时间与链表长度有关O(N)。 另外,根据实现形式可以分为直接式(想不出什么合适的
CGameWindow
·
2013-09-04 16:34
java数据结构
java实现双向链表
java双向链表
【
Java数据结构
】2.1单链表的实现
packagecom.ds.link; /** * *数据结构之Java单链表 * * *单链表提供了在列表头的高效插入和删除操作,不过在单链表的末尾的插入操作效率很低. * * *单链表指针域保存着下一节点的引用,尾结点的指针域等于null * * *@authorzhb2013 */ publicclassSingleLink{ /** *结点类 */ pr
CGameWindow
·
2013-09-04 16:37
java数据结构
java实现单链表
java单链表
Java数据结构
之BitSet
BitSet是一个基于二进制位并按需增长的向量;每一个二进制位表示一个布尔值,默认为false;每一个二进制位都可以独立的修改;BitSet支持逻辑与,逻辑或及逻辑异或操作。 BitSet是通过“字数组”来实现的,目前一个“字”由8个字节组成,共64位,即2^6;目前“字”是通过long型整数来表示的。 对于给点的二进制位下标,BitSet是如何设置它的布尔值的呢?下面用一个例子来简单说明。假
neatchenheng
·
2013-08-23 17:00
Algorithm
bitset
上一页
46
47
48
49
50
51
52
53
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他