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数据结构
(双向链表)
双向链表也是一个特殊的链表,它跟单链表一样有指向下一个元素的指针,但是也有指向前一个元素的指针,这样方便找到前一个元素。先设计Node类packagecom.dzl.sjjg.ovoniclinklist;publicclassNode{Objectelement;Nodenext;Nodeprior;publicNode(Nodepriorval,Nodenextval){//TODOAuto-
浩然正气Y
·
2020-08-09 06:29
java数据结构
java
数据结构
双向链表
java数据结构
(循环链表)
本节是循环链表(所谓循环链表,就是一个环,尾巴接着头,所以最后一个结点的下一个节点是头结点,其遍历时判断下一个结点是不是头节点即可),参照单链表进行修改http://blog.csdn.net/devenzero/article/details/52049786publicclassloopLinkList{Nodehead;Nodecurrent;intsize;loopLinkList(){h
浩然正气Y
·
2020-08-09 06:58
java数据结构
Java数据结构
:中序后序还原二叉树
之后引用到前序和中序还原二叉树的方法思想:参考本人另一篇博客:https://blog.csdn.net/qq_42192693/article/details/84785493思想:先从后序中的最后一个开始,可知为根节点,开始利用中序和后序的关系(具体我也不太懂,嘤嘤嘤)进行递归运算。以后再慢慢补充上代码:publicBinaryNodebuildTree2(Stringinorder,inti
燕双嘤
·
2020-08-09 05:54
数据结构/算法
Java数据结构
与算法
学习总结:尚硅谷2019
java数据结构
和算法线性结构和非线性结构线性结构是一个有序数据元素的集合。
coderblue
·
2020-08-08 20:28
数据结构与算法
数据结构 ---
Java数据结构
与算法总览
一、数据结构概念数据结构包含数据和结构,通俗一点就是将数据按照一定的结构组合起来,不同的组合方式会有不同的效率,使用不同的场景,如此而已。比如我们最常用的数组,就是一种数据结构,有独特的承载数据的方式,按顺序排列,其特点就是你可以根据下标快速查找元素,但是因为在数组中插入和删除元素会有其它元素较大幅度的便宜,所以会带来较多的消耗,所以因为这种特点,使得数组适合:查询比较频繁,增、删比较少的情况,这
jcpp9527
·
2020-08-07 21:17
数据结构
Java相关
【
Java数据结构
】无头结点双向循环链表
publicclassCircleList{privateclassNode{privateTvalue;privateNodeprev;privateNodenext;publicNode(Tvalue){this.value=value;}publicNode(Tvalue,Nodeprev,Nodenext){this.value=value;this.prev=prev;this.next
阎八一
·
2020-08-07 20:07
数据结构
数据结构
Java学习——数据结构——双向链表
学习尚硅谷韩顺平老师的
Java数据结构
笔记,详情请移步网站双向链表的操作分析和实现使用带head头的双向链表实现管理单向链表的缺点分析:单向链表,查找的方向只能是一个方向,而双向链表可以向前或者向后查找
qq_41853002
·
2020-08-07 17:24
Java
java数据结构
之基于链表实现的集合
/***基于链表实现的集合,*链表的实现可以参照已经写过的前面的链表知识*/publicclassLinkedSet{privateMyLinkedListlist;publicLinkedSet(){list=newMyLinkedListset=newLinkedSet<>();set.add(12);set.add(13);set.add(12);set.add(13);set.add(15
sxapple666
·
2020-08-05 11:55
JAVA数据结构
LinkedList(单链表)
packagep02.动态链表;//这里实现的接口List已在ArrayList中体现,就不多赘述importp01.动态数组.List;//单链表publicclassLinkedListimplementsList{privateNodehead;//头指针privateNoderear;//尾指针privateintsize;//元素个数publicLinkedList(){head=new
sl1130398099
·
2020-08-05 11:48
数据结构
Java
Java数据结构
--稀疏数组和队列,你还不知道吗?
1、稀疏数组当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。1、处理方法:记录数组一共有几行几列,有多少个不同的值把具有不同值的元素的行列及值记录在一个小规模的数组中,从而缩小程序的规模[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kipbcZ4h-1590731763253)(C:%5CUsers%5CAdministrator%
Y_hanxiong
·
2020-08-04 23:49
全栈学习
Java数据结构
与算法:单向环形链表、约瑟夫问题、思路分析、代码实现
文章目录单向环形链表1、经典约瑟夫问题.思路分析.代码实现单向环形链表1、经典约瑟夫问题Josephus约瑟夫环、约瑟夫问题又称“丢手绢问题”。有n个人,编号为1~n,从第k个人开始报数,从1开始报,报到m的人会死掉,然后从第m+1个人开始,重复以上过程。在死了n-1个人后,问最后一个人的编号是?.思路分析添加新节点:示意图—添加7号新节点首先要明确一个头节点,给一个辅助变量head一直指向头节点
_heroC
·
2020-08-04 21:39
Java数据结构与算法
十大算法 - Java -韩顺平 图解
Java数据结构
和算法
动态规划算法4.KMP算法(字符串匹配问题)5.贪心算法(集合覆盖问题)6.普利姆算法(修路问题)7.克鲁斯卡尔算法(公交站问题)8.迪杰斯特拉算法9.弗洛伊德算法10.骑士周游问题Java-韩顺平图解
Java
安静的大马猴
·
2020-08-04 21:43
数据结构
【
Java数据结构
】BST树(二叉搜索树)总结01(插入,删除操作)
BST树(binarysearchtree)定义:二叉排序树或者是一棵空树,或者是具有下列性质的二叉树:(1)若左子树不空,则左子树上所有节点的值均小于它的根节点的值;(2)若右子树不空,则右子树上所有节点的值均大于它的根节点的值;(3)左、右子树也分别为二叉搜索树;(4)没有值相等的节点。二叉树每层节点个数为2^n,树高为log2n关于执行效率:在一棵二叉查找树上,执行查找、插入、删除等操作,的
阎八一
·
2020-08-04 20:28
数据结构
Java数据结构
Vector和ArrayList 比较
相同点:1、具有相同的父类AbstractList。2、数据都是用内部维护的数组来存放。3、设计理念基本相同。不同点:1、Vector是线程安全的ArrayList是线程不安全的原因:Vector中所有操作都必定有一步是方法被synchronized关键字修饰的,所以是安全的ArrayList中没有synchronized同步代码,所有多线程编程中,线程是不安全的2、存储长度不够的扩容大小不一样V
sunxiaogang0214
·
2020-08-04 18:13
Java
Android
最新韩顺平图解
Java数据结构
和算法
老韩图解
Java数据结构
和算法-结束语(卖油翁和老黄牛).avi老韩图解
Java数据结构
和算法-骑士周游回溯算法用贪心算法优化.avi老韩图解
Java数据结构
和算法-骑士周游回溯算法代码实现(3).avi
qq_43363312
·
2020-08-04 17:03
java数据结构
导图
java数据结构
导图数据结构思维图线性数据结构-数组数组的概念就是把数据码成一排进行存放,数组中存放的元素类型必须一。
wespten
·
2020-08-04 16:25
算法之美
Java数据结构
_稀疏数组的介绍和使用场景
稀疏数组1、先看一个实际需求编写的五子棋程序中,有存盘和续上盘的功能。分析问题因为该二维数组的很多值的默认值为0,因此也记录了很多没有意义的数据。2、基本介绍当一个数组中大部分元素为零或同一值时,可以使用稀疏数组来保存该数组。3、处理方法记录数组一共有几行几列,有多少个不同的值。把具有不同值的元素及值记录在一个小规模的数组中,从而缩小程序的规模。稀疏数组举例说明4、二维数组与稀疏数组的相互转换二维
maingy
·
2020-08-04 15:10
整理
Java数据结构
与算法——稀疏数组
线性结构是一对一的形式,他有顺序存储、链式存储两种形式,我们常见的线性存储的主要结构有:数组、队列、链表、栈。非线性结构通产包括二维数组、多维数组、广义表、树、图。packagedatacontruct.sparsearray;/***@Author:柳梦磊*@mailbox:
[email protected]
*@BlogAddress;https://blog.csdn.net/lmlzww/*@
柳奋进
·
2020-08-04 15:25
Java算法与数据结构
约瑟夫问题(单向循环链表)---
Java数据结构
与算法
约瑟夫问题,有时也称为约瑟夫斯置换,是一个出现在计算机科学和数学中的问题。在计算机编程的算法中,类似问题又称为约瑟夫环。又称“丢手绢问题”.假设有num个小孩在玩丢手绢,现在从第n个小孩开始数数,数到第m个数,把这个数删除,接着从这个被删除的数开始数m个,在删除,再数…例如:有五个孩子在玩丢手绢,从第二个小孩开始数,数2次,那么会得到一个出圈顺序:3-5-2-1-4解决约瑟夫问题,我们正好可以用环
LanceHang
·
2020-08-04 12:32
Java数据结构与算法
Java数据结构
与算法
1、数组1.1数组选择排序packagetest.javase.array;importjava.util.Arrays;/***@authorzhangxuhui*@
[email protected]
*@create2020-03-1418:20**选择排序:*认为第一位的元素为最小值,与其后的每一个元素比较。*如果后面的元素比第一个元素小,则二者交换位置,那么一轮后*第一索引位置上的元
永恒的狼牙
·
2020-08-04 11:33
Java
数据结构 - Java -韩顺平 图解
Java数据结构
和算法
数据结构Lesson1数据结构的知识总结1.几个经典的算法面试题2.线性结构与非线性结构2.1稀疏数组sparsearray2.2队列2.2.1顺序队列:2.2.2环形队列(取模%)2.3链表(linkedlist)2.3.1.单向链表2.3.2双向链表2.3.3环形链表2.4栈(Stack)2.4.1利用数组模拟栈:2.4.2用栈来实现综合计算器:2.4.3前缀、中缀、后缀(逆波兰)表达式3.递
安静的大马猴
·
2020-08-04 11:00
数据结构
java数据结构
和算法之约瑟夫环问题
最近在学习
java数据结构
和算法,每个重点知识我都会以“思想原理+代码+总结”的方式写一篇博客,方便自己以后复习,并分享给大家。如有问题,欢迎指出。
@阿证1024
·
2020-08-04 11:33
JAVA
Java数据结构
与算法-Josephu约瑟夫问题(循环单链表实现)原理及代码实现
约瑟夫问题(循环单链表实现)原理及代码实现循环单向链表学习目标1.循环链表的基本介绍及特点2.循环单链表的操作3.约瑟夫问题4.用循环单链表思路分析5.代码实现6.核心代码详解以及注意一,循环单单链表的介绍及特点在之前我们学习了单链表,循环单链表故名思意,首尾连接起来不就可以了?也即是最后一个节点的next指针指向头结点。二,循环单链表的操作它和单链表一样就是插入,删除,遍历。插入:和单链表相似,
@大美妞
·
2020-08-04 11:43
java数据结构
与算法分析:冒泡排序
冒泡排序(默认是升序)时间复杂度:O(n^2)空间复杂度:O(1)目标:将数组元素按照从小到大的顺序排列。思路:大的数“下沉”,小的数“上浮”。比较相邻的两个元素,将大的数放在右边,小的数放在左边。第一趟循环:比较第一个和第二个数,如果第一个数小于第二个数,顺序不变,反之就交换两个数的位置;接着比较第二和第三个数,方法同上,直到比较完最后两个数,将大的数放在右边,小的放左边。结果:第一趟完成后,最
pinazhang
·
2020-08-04 06:17
Java数据结构与算法分析
【
Java数据结构
】判断单链表是否有环,并且找出环的入口
一:判断是否有环思路:使用快慢引用法解决是否有环假设链表是一个有环链表,且由f指向c构成环。那么使用两个指针A和B,让两指针同时向后遍历而且B的遍历速度是A的两倍,呢么如果是有环的话,B终究会追上A。因此我们可以以AB是否相遇作为判断是否有环的必要条件。下面是图例:最终BA在e相遇,于是可以得出此链表有环。代码:publicEntryisLoop(){Entryfast=first,slow=fi
阎八一
·
2020-08-04 06:51
数据结构
Java数据结构
与算法解析(十一)——红黑树
前面一篇文章介绍了2-3查找树,2-3查找树能保证在插入元素之后能保持树的平衡状态,最坏情况下即所有的子节点都是2-node,树的高度为lgN,从而保证了最坏情况下的时间复杂度。但是2-3树实现起来比较复杂,本文介绍一种简单实现2-3树的数据结构,即红黑树(Red-BlackTree)红黑树的介绍红黑树(Red-BlackTree,简称R-BTree),它一种特殊的二叉查找树。红黑树是特殊的二叉查
伯努力不努力
·
2020-08-04 02:17
数据结构与算法
【排序算法】- 选择排序
2选择排序思想尚硅谷
Java数据结构
和算法更多Java–大数据–前端–python人工智能-区块链资料下载,可访问百度:尚硅谷官网第128页选择排序(selectsorting)也是一种简单的排序方法。
我是陈旭原
·
2020-08-04 01:31
数据结构与算法
初学菜鸟的学习日记——二叉树(JAVA)
这几天看了看
JAVA数据结构
,其中链表之类的结构之前看过JDK源码,但是树之类的是第一次接触。最近封闭开发挺忙的,抽了点时间自己实现一个二叉树,实现了最基本的增删改查和截取,挺简陋的,冗余代码比较多。
BigWet大师
·
2020-08-04 00:46
学习日记
手写
java数据结构
之桶排序、归并排序、快速排序、冒泡排序、选择排序和插入排序
#直接上代码桶排序publicclasstongorder{publicstaticint[]bucketSort(int[]nums,intmaxnum){int[]sorted=newint[maxnum+1];for(inti=0;i0)System.out.println(sorted[i]);}}}归并排序publicclassguibingorder{privatestaticvoid
stephenJS
·
2020-08-03 23:45
数据结婚
Java学习——数据结构——插入排序
学习尚硅谷韩顺平老师的
Java数据结构
笔记,详情请移步网址介绍插入式排序属于内部排序法,是对于欲排序的元素以插入的方式找寻该元素的适当位置,以达到排序的目的。
qq_41853002
·
2020-08-03 23:04
Java
Java数据结构
(三):单链表和双链表
什么是链表链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。相比于线性表顺序结构,操作复杂。由于不必须按顺序存储,链表在插入的时候可以达到O(1)的复杂度,比另一种线性表顺序表快得多,但
IrvingTc
·
2020-08-03 22:19
Java数据结构
java数据结构
之Set
先来一张UML图:如上,Set最重要的是HashSet、LinkedHashSet、TreeSet和CopyOnWriteArraySet几个实现类。Set中的元素是不能重复的。关于Set的实现细节可以参考Map,因为这些Set的实现都是对应的Map的一种封装。比如HashSet是对HashMap的封装,LinkedHashSet对应LinkedHashMap,TreeSet对应TreeMap。以
luckystar2008
·
2020-08-03 20:46
Core
Java
Java数据结构
----树--红黑树
1、概念红黑树(Red-BlackTree)是一种自平衡二叉查找树,是在计算机科学中用到的一种数据结构,典型的用途是实现关联数组。它是在1972年由RudolfBayer发明的,他称之为"对称二叉B树",它现代的名字是在LeoJ.Guibas和RobertSedgewick于1978年写的一篇论文中获得的。它是复杂的,但它的操作有着良好的最坏情况运行时间,并且在实践中是高效的:它可以在O(logn
liucw_cn
·
2020-08-03 20:41
Java数据结构
java入门---数据结构之字典(Dictionary)&map接口&哈希表(Hashtable)&属性(Properties)&迭代器 iterator 用法
我们再来看关于
java数据结构
的最后三个字典(Dictionary)&哈希表(Hashtable)&属性(Properties)。首先是字典(Dictionary)。
luyaran
·
2020-08-03 19:29
原创
Java学习之路
java数据结构
和算法——递归实现迷宫回溯问题的应用示例
一、迷宫回溯示例要求:定义一个8行7列的迷宫地图,得到小球从起始位置到结束位置的路径需求示意图如下二、使用递归回溯来给小球找路,按照下->右->上->左的策略(方法)的示例1、按照下->右->上->左的策略,小球行走的路径示意图如下:2、按照下->右->上->左的策略,示例代码packagecom.rf.springboot01.dataStructure.recursion;/***@descr
小志的博客
·
2020-08-03 19:22
java数据结构和算法
java数据结构
和算法——完整版的逆波兰计算器的应用示例
一、完整版的逆波兰计算器的支持支持+-*/()支持多位数及小数兼容处理,过滤任何空白字符,包括空格、制表符、换页符二、完整版的逆波兰计算器代码示例1、代码如下:packagecom.rf.springboot01.dataStructure.stack.reversePolishNotation;importjava.util.ArrayList;importjava.util.Collectio
小志的博客
·
2020-08-03 19:22
java数据结构和算法
java数据结构
和算法——排序算法的介绍及分类
一、排序算法的介绍排序也称排序算法(SortAlgorithm),排序是将一组数据,依指定的顺序进行排列的过程。二、排序算法的分类:1、内部排序指将需要处理的所有数据都加载到内部存储器中进行排序。2、外部排序数据量过大,无法全部加载到内存中,需要借助外部存储进行排序。三、常见的排序算法分类四、算法的时间复杂度度量一个程序(算法)执行时间的两种方法事后统计的方法这种方法可行,但是有两个问
小志的博客
·
2020-08-03 19:22
java数据结构和算法
java数据结构
和算法——时间频度介绍和特点
一、时间频度基本介绍时间频度:一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多,它花费时间就多。一个算法中的语句执行次数称为语句频度或时间频度。记为T(n)。二、时间频度特点1、举例说明-忽略常数项示例如下图结论1)、2n+20和2n随着n变大,执行曲线无限接近,20可以忽略2)、3n+10和3n随着n变大,执行曲线无限接近,10可以忽略2、举例说明-忽略低次项示例如下图
小志的博客
·
2020-08-03 19:22
java数据结构和算法
java数据结构
和算法——八皇后问题分析与代码示例
一、八皇后问题介绍二、八皇后问题思路分析三、八皇后问题代码示例1、代码packagecom.rf.springboot01.dataStructure.recursion;/***@description:使用递归实现八皇后问题*@author:xiaozhi*@create:2020-08-0221:13*/publicclassLabyrinthTest{intmax=8;//定义一个max表
小志的博客
·
2020-08-03 19:22
java数据结构和算法
List的数据结构
java数据结构
-ListList在数据结构中表现为是线性表的方式,其元素以线性方式存储,集合中允许存放重复的对象,List接口主要的实现类有ArrayListArrayList其实就是一组长度可变的数组
iteye_8497
·
2020-08-03 18:17
数据结构与算法
java
操作系统
java数据结构
总结——排序
(一)插入排序时间复杂度:最好情况:O(n)最坏情况:O(n^2)注:越有序越快空间复杂度:O(1)稳定性:稳定publicstaticvoidinsertSort(int[]array){for(inti=1;i=0;j--){if(array[j]>tmp){array[j+1]=array[j];}else{break;}}array[j+1]=tmp;}}(二)希尔排序时间复杂度:O(n^
ichaoyyy
·
2020-08-03 17:14
java数据结构
总结——二叉树
(一)二叉树的性质若规定根节点的层数为1,则一棵非空二叉树的第i层上最多有2^(i-1)(i>0)个结点。若规定只有根节点的二叉树的深度为1,则深度为K的二叉树的最大结点数是2^k-1(k>=0)。对任何一棵二叉树,如果其叶结点个数为n0,度为2的非叶结点个数为n2,则有n0=n2+1。具有n个结点的完全二叉树的深度k为log(n+1)上取整。对于具有n个结点的完全二叉树,如果按照从上至下从左至右
ichaoyyy
·
2020-08-03 17:43
java数据结构
总结——堆
(一)自己实现一个大根堆importjava.util.Arrays;publicclassTestHeap{publicint[]elem;publicintusedSize;publicTestHeap(){this.elem=newint[10];}//向下调整publicvoidadjustDown(introot,intlen){intparent=root;intchild=2*par
ichaoyyy
·
2020-08-03 17:43
Java数组、集合、散列表常见算法浅析
https://blog.csdn.net/geduo_83/article/details/86549897这篇文章我们只谈算法的具体实现思考过程,并没有相关代码实现,代码的实现过程请参见我的另外一篇文章:
Java
门心叼龙
·
2020-08-03 17:55
数据结构
Java数据结构
——ArrayList简介
ArrayList是Java中最基础的数据结构之一,即顺序表。本篇文章将从源码角度简单介绍ArrayList的基本实现原理。(本文内容中涉及的源码使用JDK1.6版本,在高版JDK中可能源码做了简单调整,但数据结构的实现机制依然是一样的)顺序表,顾名思义,是一个有序的数组。数据按顺序在内存中存储,这样的数据结构利于快速的查找,但在数组中间插入或删除数据会导致整个数组发生变动。ArrayList类中
daydreary
·
2020-08-03 16:15
java数据结构
练习题-1
题目:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回代码:packagetest;classSolution2{privatestaticint[]lp={1,2,4,7,3,5,6,8};privatestat
chumiaomiao6458
·
2020-08-03 15:38
【
java数据结构
与算法学习】魔术师发牌问题
魔术师发牌问题:魔术师手里一共有13张牌,全是黑桃,1~13.魔术师需要实现一个魔术:这是十三张牌全部放在桌面上(正面向下),第一次摸出第一张,是1,翻过来放在桌面上。第二次摸出从上往下数第二张,是2,翻过来放在桌面上,(第一张放在最下面去,等会儿再摸),第三次摸出从上往下数第三张,是3,翻过来放在桌面上,(第一张和第二张放在最下面去,等会儿再摸)以此类推最后一张就是13魔术师发牌问题,我们可以用
Zer01ne
·
2020-08-03 14:53
java
算法
java数据结构
与算法 冒泡排序
冒泡排序的核心思想:比较2个元素,如果前一个比后一个大,则进行交换,经过对每个元素的比较,最后将最大的元素设置成最后一个元素。重复操作,最后形成从小到大排序。publicclassBubbleSort{publicstaticvoidsort(long[]arr){longtmp=0;for(inti=0;ii;j--){if(arr[j]
饥饿小猪
·
2020-08-03 14:34
数据结构与算法
Java、Android数据结构小节
Java数据结构
ListList都有序;线程不安全;有长度;内部持有modCount记录修改次数ArrayList默认长度为10、超出长度时进行扩容(0.5倍),最大长度2的31次方-8,超出会OOM;
初壹十五a
·
2020-08-03 12:57
Android
数据结构
java数据结构
与算法-简单排序-冒泡排序
冒泡排序规则:示例图,以下图为先排出大的,即从左往右排,与下面的实现代码正好相反。实现代码如下:/***简单排序-冒泡排序**@paramarray*/privatevoidsortSimpleBubble(int[]array){intcount=0;intsize=array.length;for(inti=0;ii;j--){//从数组的最右边开始比较,直到最左边,这样循环一次,最左边的就为
itzilong
·
2020-08-03 12:19
数据结构与算法
上一页
25
26
27
28
29
30
31
32
下一页
按字母分类:
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
其他