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数据结构
与算法
约瑟夫问题,有时也称为约瑟夫斯置换,是一个出现在计算机科学和数学中的问题。在计算机编程的算法中,类似问题又称为约瑟夫环。又称“丢手绢问题”.假设有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
数据结构与算法
java数据结构
总结——二叉树经典习题
(一)检查两颗二叉树是否相同publicbooleanisSameTree(Nodep,Nodeq){if((p==null&&q!=null)||(p!=null&&q==null)){returnfalse;}if(p==null&&q==null){returntrue;}if(p.val!=q.val){returnfalse;}returnisSameTree(p.left,q.left
ichaoyyy
·
2020-08-03 10:38
一文掌握关于
Java数据结构
所有知识点(欢迎一起完善)
在我们学习Java的时候,很多人会面临我不知道继续学什么或者面试会问什么的尴尬情况(我本人之前就很迷茫)。所以,我决定通过这个开源平台来帮助一些有需要的人,通过下面的内容,你会掌握系统的Java学习以及面试的相关知识。本来是想通过Gitbook的形式来制作的,后来想了想觉得可能有点大题小做。另外,我自己一个人的力量毕竟有限,希望各位有想法的朋友可以提issue和pull。Java面试通关手册(Ja
weixin_33950035
·
2020-08-03 06:58
JAVA数据结构
及算法--Queue分析及应用
本章内容主要参考于《
Java数据结构
和算法第二版》这本书。
Gunder
·
2020-08-03 05:29
JAVA
android
JAVA数据结构
及算法--解析算术表达式
JAVA数据结构
及算法–解析算术表达式1、本章内容主要参考于《
Java数据结构
和算法第二版》这本书。
Gunder
·
2020-08-03 05:29
JAVA
JAVA数据结构
及算法--Android中Activity的四种启动模式
在《
JAVA数据结构
及算法--Stack分析》和《
JAVA数据结构
及算法--Stack应用》文章中分析了JAVA源码中栈的实现及实现自定义的栈及栈的简单应用(单词逆序和分隔符匹配),接下来介绍栈在Android
Gunder
·
2020-08-03 05:28
JAVA
android
JAVA数据结构
及算法--Stack应用
在《
JAVA数据结构
及算法--Stack分析》这篇文章中分析了源码Stack是怎么实现的,接下来要分析怎么自己去实现栈,栈有那些应用。本章内容主要参考于《
Java数据结构
和算法第二版》这本书。
Gunder
·
2020-08-03 05:58
android
JAVA
JAVA数据结构
及算法--Stack分析
步骤1、在对Stack进行分析前,先看看它是怎么使用的。步骤2、通过提取源码Stack里面的代码来实现自定义的栈MyStack。importjava.util.EmptyStackException;importjava.util.Vector;/***MyStack是一个后进先出(LIFO)栈,继承于Vector类;MyStack也是从*源码Stack.java中提取代码生成*@param泛型*
Gunder
·
2020-08-03 05:27
JAVA
android
Java数据结构
——循环链表的实现
一、描述循环链表:表中的最后一个节点的指针域指向头结点,整个链表形成一个环。循环链表判空条件:有的说是判断p或p->next是否等于头指针,有的说判断tail是否等于head,有的说判断head是否为空,这其实要根据实际情况来判断。若是不带头结点(这里说带头结点是只一个空的节点做为头结点)循环链表,则可以用判断head是否为空来判断链表是否为空。若是带头结点,则可以根据判断tail是否等于head
It一zhai男
·
2020-08-03 05:53
数据结构
Java数据结构
:最小生成树---Prim算法
日常更新数据结构思想:通过选择一个根结点,然后遍历其所有的边,选择权重最小的一个边。然后到达相应的结点,然后再从该边出发,依旧选择权重最小的边到达下一个结点。(目的是为了使A到各个结点的权值和最小)原图为上述图。过程:A开始遍历AB,AC,AD。发现AD权值最小,然后选择AD,从D开始发现DF最小。。。。。。。ADC比ADFC小就用ADC经过循环后,得到如下图所示的最小生成树。上代码publicv
燕双嘤
·
2020-08-03 03:48
数据结构/算法
Java数据结构
与算法-逆波兰计算器完善版代码
逆波兰计算器完善版代码接上一篇的博客逆波兰计算器初级,不考虑小数呀,以及一些特殊字符,这篇要实现的需求是:1.支持±*/()2.多位数,支持小数,4.兼容处理,过滤任何空白字符,包括空格、制表符、换页符如果没看上一篇请跳转到上一篇代码如下:packagecom.atxiaopeng.stack;importjava.util.ArrayList;importjava.util.Collection
@大美妞
·
2020-08-03 03:05
JAVA数据结构
- 栈与中缀表达式,后缀表达式实现简单计算器
先进后出的数据结构,入栈,出栈,定义一个指针始终指向栈顶,没有数据时为-11.使用数组模拟实现栈-定义结构classArrayStack{privateintMaxSize;//表示栈的最大空间privateint[]array;//表示存放数据的数组privateinttop=-1;//表示栈顶,起始位置为-1表示无数据publicArrayStack(intmaxSize){初始化栈MaxSi
v1113606116
·
2020-08-03 03:18
JAVA数据结构
Java数据结构
与算法之LinkedList单链表
目录:1.链表概述2.链表分类即结构3.单链表3.1自定义单链表需要实现的功能(方法)3.2单链表实现代码1.链表概述:链表具有逻辑连续,物理存储不连续且大小不固定的特点,它是基于指针实现的。其中单链表和单向循环链表中的每一个节点包含了一个数据域和一个指针域,数据域保存节点的数据,指针域保存节点的下一个节点位置,当需要查找当前节点的下一个节点时,即可通过指针域保存的位置信息,定位下一节点。而其中双
小巷下起了雨
·
2020-08-03 02:49
JAVA
java数据结构
-递归算法之八皇后问题两种方法
第一种,好理解importjava.util.Arrays;publicclassQueen8{//publicstaticintnum=0;//publicstaticintMaxQueen=8;//publicstaticint[]cols=newint[MaxQueen];////publicQueen8()//{//getArrangement(0);//System.out.printl
夜舞虫鸣
·
2020-08-03 01:25
数据结构
【
Java数据结构
与算法】 递归及迷宫问题(回溯)
文章目录递归调用机制简单的递归使用递归能解决的问题和规则递归-迷宫问题思路分析:代码如下:递归调用机制简单地说:递归就是方法自己调用自己,每次调用时传入不同的变量,递归有助于编程者解决复杂的问题,同时也可以让代码变得简洁。递归应用场景:迷宫问题(回溯),递归(Recursion)简单的递归使用打印问题递归代码:publicclassRecursionTest{publicstaticvoidmai
董梦宇
·
2020-08-03 01:17
数据结构与算法
java使用栈实现综合计算器(中缀表达式)
栈实现综合计算器(中缀表达式)的问题:目前正在学习尚硅谷-韩顺平图解
Java数据结构
和算法视频,老师讲的很好,记录一下。
清枫cc
·
2020-08-03 01:38
数据结构
深入了解
Java数据结构
(集合及底层实现)
一、集合介绍Collection(单列集合)List(有序,可重复)ArrayList底层数据结构是数组,查询快,增删慢(因为:增删后涉及到其他数据的位移)线程不安全,效率高Vector底层数据结构是数组,查询快,增删慢(因为:增删后涉及到其他数据的位移)线程安全,效率低LinkedList底层数据结构是双向链表,查询慢,增删快线程不安全,效率高Set(无序,唯一)HashSet底层数据结构是哈希
Fox_bert
·
2020-08-03 00:43
Java
SE
【
java数据结构
与算法学习】逆波兰计算器
逆波兰表达式也叫后缀表达式,采用逆波兰表达式无需考虑运算符的优先级,逆波兰表达式的计算是使用栈来实现的下面是我写的逆波兰的计算,本人是个小菜鸟,希望各位大牛多指点指点。主要的思想就是:当我们遇到操作符的时候,就出栈两个元素进行计算,然后将计算结果压入栈中;遇到数字的时候就进行压栈操作importjava.util.Arrays;importjava.util.Scanner;publicclass
Zer01ne
·
2020-08-02 22:59
java
算法
Java数据结构
与算法——递归 (迷宫回溯问题)
递归简单的说:递归就是方法自己调用自己,每次调用时传入不同的变量.递归有助于编程者解决复杂的问题,同时可以让代码变得简洁。递归调用规则:1.当程序执行到一个方法时,就会开辟一-个独立的空间(栈)2.每个空间的数据(局部变量),是独立的.递归需要遵守的重要规则执行一个方法时,就创建一个新的受保护的独立空间(栈空间)方法的局部变量是独立的,坏会相互影响,比如n变量如果方法中使用的是引用类型变量(比如数
为月提笔_
·
2020-08-02 22:56
上一页
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
其他