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数据结构与算法
9——红黑树
1.平衡与非平衡树树的平衡树的平衡指的是:树中每个节点的左边后代的数目,应该和其右边后代的数目大致相等。对于随机数构成的二叉树,一般来说是大致平衡的,但是对于有序的数据,二叉树就严重不平衡了,极端情况下,退化成为链表,其时间复杂度下降到O(N),而不再是平衡树的O(logN)。2.红黑树是什么以及特征红黑树(R-BTree)是什么红黑树是一种增加了某些特性的二叉搜索树,它可以保持树的大致平衡。大致
王侦
·
2020-02-08 22:24
Java数据结构与算法
7——高级排序
1.希尔排序希尔排序希尔排序是对插入排序的一种改进,减少了交换和移动次数,效率更高。基本思路:先将数据按照一定的间隔进行分组,然后对每组数据进行排序,然后缩小分组间隔,再次对各组的数据进行排序,直到最后用分隔为1来对数据进行分组,并再次排序,最后得到排好序的数据。希尔排序的重点:就在于选取合理的分组间隔,原始的希尔排序算法是N/2,现在更常用的是:使用h=h*3+1来产生增量序列,h=(h-1)/
王侦
·
2020-02-05 16:44
从1开始学
Java数据结构与算法
——递归解决迷宫回溯问题和八皇后问题
从1开始学
Java数据结构与算法
——递归解决迷宫回溯问题和八皇后问题递归介绍与分析案例引入递归机制:递归能解决的问题和规则迷宫回溯问题迷宫回溯问题分析迷宫回溯问题代码实现迷宫回溯问题的最短路径八皇后问题八皇后问题分析思路图解八皇后问题代码实现写在最后递归介绍与分析案例引入现在有如下问题
Java大魔王
·
2020-01-23 23:43
Java数据结构与算法
java
数据结构
递归法
算法
Java数据结构与算法
(5):AVL树
AVL树是带有平衡条件的二叉查找树,它是每个节点的左子树和右子树的高度最多差1的二叉查找树。AVL树的节点定义如下:classAVLNode{Telement;//键值intheight;//高度AVLNodeleft;AVLNoderight;AVLNode(Telement){this(element,null,null);}AVLNode(Telement,AVLNodeleft,AVLNo
萧萧弈寒
·
2020-01-08 08:00
java数据结构与算法
之顺序表与链表深入分析
一、线性表的顺序存储设计与实现(顺序表)1.1顺序存储结构的设计原理概要顺序存储结构底层是利用数组来实现的,而数组可以存储具有相同数据类型的元素集合,,当我们创建一个数组时,计算机操作系统会为该数组分配一块连续的内存块,这也就意味着数组中的每个存储单元的地址都是连续的,因此只要知道了数组的起始内存地址就可以通过简单的乘法和加法计算出数组中第n-1个存储单元的内存地址,就如下图所示: 通过上图可以
千涯秋瑟
·
2020-01-03 03:39
Java数据结构与算法
原创者:文思绪论为何要学算法?有个字符串”大中中国中国我爱中中国我爱你中国我爱你中国我爱你好”,怎样判断出”中国我爱你”是否存在,如存在则返回位置。非算法思路则是进行暴力匹配,依次匹配,遇到不匹配的再从字符串开头重新依次匹配,如下:如果你懂KMP算法,则会很简单。为何要学数据结构?开发五子棋的存盘、续盘功能,如果使用二位数组记录,则像这样:因为二位数据的很多默认值是0,因为记录了很多无意义的数据,
文思li
·
2020-01-01 15:29
Java数据结构与算法
(六)-希尔排序
一、希尔排序的产生希尔排序(ShellSort)是插入排序的一种。也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。该方法因DL.Shell于1959年提出而得名。希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。二、希尔排序是基于插入排序的以下两点
FantJ
·
2019-12-30 12:36
2019-08-29 《
Java数据结构与算法
——数组与简单排序》
今天我们来学习下数据结构之数组,目标:创建一个属于我们自己的数组类:首先创建一个类,名称自定义。这边我定义的是一个long数组,并且设置无参构造方法内自动创建一个能有50数据容量的数组和另外带参自定义的构造方法,这些都是基本的。一、数据的操作离不开增删改查,接下来我们将实现这4个步骤:/***添加数据*/添加数据分为基本添加和按照顺序添加两种,这里顺序添加我将从小到大添加数据。基本添加:顺序添加(
东咯咯伯
·
2019-12-27 02:28
算法相关的书推荐
《数据结构与算法分析java语言描述》这本书是
java数据结构与算法
方面的三宝之一。除了这三本其他的已经没有意义了。
KavinDotG
·
2019-12-24 14:00
2019-09-04 《
Java数据结构与算法
——栈与队列》
栈栈作为一种数据结构,是一种只能在一端进行插入和删除操作的特殊线性表。它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。栈具有记忆作用,对栈的插入与删除操作中,不需要改变栈底指针。栈是允许在同一端进行插入和删除操作的特殊线性表。允许进行插入和删除操作的一端称为栈顶(top),另一端为栈底(bottom);栈底固
东咯咯伯
·
2019-12-22 16:25
1. 认识 Java 程序【连载1】
该系列教程大致包括:Java基础、
Java数据结构与算法
、Java数据库编程、Java桌面游戏开发、Javaweb、前端基础、SpringBoot框架、项目实战…内容会持续更新。
密叔
·
2019-12-15 15:48
10 本 Java PDF 书籍免费分享
本篇文章主要分享以下Java开发PDF书籍一、Java编程思想二、EffectiveJava三、Java核心技术卷四、Java并发编程实践五、深入理解Java虚拟机六、Java解惑七、Java编程规范八、
Java
ProgramAndroid
·
2019-12-14 08:27
java数据结构与算法
之栈(Stack)设计与实现
一、栈的抽象数据类型 栈是一种用于存储数据的简单数据结构,有点类似链表或者顺序表(统称线性表),栈与线性表的最大区别是数据的存取的操作,我们可以这样认为栈(Stack)是一种特殊的线性表,其插入和删除操作只允许在线性表的一端进行,一般而言,把允许操作的一端称为栈顶(Top),不可操作的一端称为栈底(Bottom),同时把插入元素的操作称为入栈(Push),删除元素的操作称为出栈(Pop)。若栈中没
千涯秋瑟
·
2019-12-12 12:28
2019-09-14 《
Java数据结构与算法
——链表》
链表链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。相比于线性表顺序结构,操作复杂。由于不必须按顺序存储,链表在插入的时候可以达到O(1)的复杂度,比另一种线性表顺序表快得多,但是查找
东咯咯伯
·
2019-11-29 07:11
Java数据结构与算法
(4):二叉查找树
一、二叉查找树定义二叉树每个节点都不能有多于两个的儿子。二叉查找树是特殊的二叉树,对于树中的每个节点X,它的左子树中的所有项的值小于X中的项,而它的右子树中所有项的值大于X中的项。二叉查找树节点的定义:privatestaticclassBinaryNode{Telement;//节点的值BinaryNodeleft;//左子节点BinaryNoderight;//右子节点publicBinary
萧萧弈寒
·
2019-10-23 00:00
JAVA数据结构与算法
:KMP
文章目录摘要简介详解最直接的回溯法KMP匹配图解KMP求解next数组小结参考参考摘要KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt提出的,因此人们称它为克努特—莫里斯—普拉特操作(简称KMP算法)。KMP算法的核心是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。具体实现就是通过一个next()函数实现,函数本身包含
wu-ming
·
2019-10-17 17:22
算法笔记
Java数据结构与算法
(3):队列
队列也是一种表,不同的是队列在一端进行插入而在另一端进行删除。队列模型队列的基本操作包括入队、出队操作。在表的末端插入元素,在表的开头删除元素,即先进先出(FIFO)。队列的数组实现对于每一个队列数据结构,保留一个数组items以及位置front和back,分别表示队列的两端,还要记录元素的个数size。操作过程应该是:当一个元素x入队,size和back增1,置items[back]=x;出队时
萧萧弈寒
·
2019-10-04 16:00
Java数据结构与算法
(2):栈
栈是一种线性表,特点在于它只能在一个位置上进行插入和删除,该位置是表的末端,叫做栈的顶(top)。因此栈是后进先出的(FIFO)。栈的基本操作有push、peek、pop。栈的示意图进栈和出栈都只能在一个位置进行操作。基于数组的栈实现/***基于数组的栈实现*/publicclassMyArrayStack{//栈顶privateinttop=-1;//保存元素的数组privateT[]items
萧萧弈寒
·
2019-09-30 09:00
Java数据结构与算法
(1):线性表
线性表是一种简单的数据类型,它是具有相同类型的n个数据元素组成的有限序列。形如如A0,A1,...,An-1。大小为0的表为空表,称Ai后继Ai-1,并称Ai-1前驱Ai。printList打印出表元素,makeEmpty置空表,find返回某一项首次出现的位置,insert和remove一般是从表的某个位置插入和删除某个元素;而findKth则返回某个位置上的元素,next和previous会取
萧萧弈寒
·
2019-09-26 23:00
Java关于桶排序的知识点总结
前言:
Java数据结构与算法
专题会不定时更新,欢迎各位读者监督。本文从最简单的一个排序算法――桶排序开始,分析桶排序的实现思路,代码实现,性能特点以及适用场景。
·
2019-09-24 16:51
Java数据结构与算法
之选择排序(动力节点java学院整理)
每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。代码publicclassChoseSort{//constructorwithoutparameterspublicChoseSort(){};//constructorwithparameterspublicint[]ChoseSort(int[]intArr){for(inti
·
2019-09-22 21:37
Java数据结构与算法
之树(动力节点java学院整理)
为什么使用树:树结合了两种数据结构的有点:一种是有序数组,树在查找数据项的速度和在有序数组中查找一样快;另一种是链表,树在插入数据和删除数据项的速度和链表一样。既然这样,就要好好去学了....(最主要讨论的是二叉树中的二叉搜索树,即一个节点的左子节点关键值小于这个节点,右子节点的关键值大于这个节点)设计前的思考:树――>元素(节点)classNode{publicintiData;publicfl
·
2019-09-22 21:53
Java数据结构与算法
之栈(动力节点Java学院整理)
stack,中文翻译为堆栈,其实指的是栈,heap,堆。这里讲的是数据结构的栈,不是内存分配里面的堆和栈。栈是先进后出的数据的结构,好比你碟子一个一个堆起来,最后放的那个是堆在最上面的。队列就是排队买苹果,先去的那个可以先买。栈publicclassStack{privateintarray[];privateintmax;privateinttop;publicStack(intmax){thi
·
2019-09-22 20:41
Java数据结构与算法
_队列
Java数据结构与算法
_队列一、队列介绍队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。
shuPush
·
2019-05-12 21:17
数据结构与算法
Java数据结构与算法
_快速排序
Java数据结构与算法
_快速排序一、快速排序介绍快速排序的原理:选择一个关键值作为基准值。比基准值小的都在左边序列(一般是无序的),比基准值大的都在右边(一般是无序的)。一般选择序列的第一个元素。
shuPush
·
2019-05-11 22:41
数据结构与算法
Java数据结构与算法
_栈
Java数据结构与算法
_栈一、栈简介栈(stack)是限制插入和删除只能在一个位置上进行的表,该位置是表的末端,叫做栈顶(top)。它是后进先出(LIFO)的。
shuPush
·
2019-05-10 15:13
数据结构与算法
JAVA数据结构与算法
之————归并排序
JAVA数据结构与算法
之————归并排序归并排序具体原理网上已经有很多大佬分享了,请自行学习,这里主要分享代码。
robin_xc
·
2019-05-04 15:24
JAVA
数据结构与算法
JAVA 数据结构与算法之————快速排序
JAVA数据结构与算法
之————快速排序快速排序:/**快速排序的时间复杂度为O(nlogn),空间复杂度为O(logn)**/publicclassQuickSort{Swaps=newSwap0&&
robin_xc
·
2019-05-04 13:39
JAVA
数据结构与算法
JAVA数据结构与算法
之————平衡二叉树
JAVA数据结构与算法
之————平衡二叉树平衡二叉树又称AVL树,平衡二叉树具有的特性是:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。
robin_xc
·
2019-04-23 17:52
JAVA
数据结构与算法
JAVA 数据结构与算法之————队列
JAVA数据结构与算法
之————队列直接上代码:1,线性表作为队列packagestackandqueue;importjava.util.ArrayList;publicclassLineQueue{
robin_xc
·
2019-04-20 17:45
JAVA
数据结构和算法
Java数据结构与算法
中级篇之栈、队列、链表
blog.csdn.net/geduo_83/article/details/86466640源码下载地址:https://download.csdn.net/download/geduo_83/10913510初级篇:
Java
门心叼龙
·
2019-03-24 18:44
【
Java数据结构与算法
笔记(一)】常见排序算法及面试考点总结
一切为了暑期实习,一切为了暑期实习。我就是试着去面面,实习是不可能实习的,老板是不会让我们去的。哭!!!以下是正题!!!2019年3月11日:突然想做成一个整理笔记了,那这个就作为开篇吧~以下排序排名有先后之分,请注意复习策略~快速排序快排特别重要!!!快排特别重要!!!快排特别重要!!!基本思想首先在数组中选择一个基准点(一般选取第一个数字),然后分别从数组的两端扫描数组,设两个指示标志(low
alicelmx
·
2019-03-05 12:53
java
面试
排序算法
求职
Java和Spark
java数据结构与算法
4---二叉树
java数据结构与算法
4---二叉树二叉树介绍二叉树:每个节点只含有左右两个分支的叫做二叉树。
知飞翀
·
2019-02-18 22:14
Java数据结构与算法
递归算法
注意递归的结束控制递归注意栈溢出:堆中实体数据世界,栈中引用世界递归消耗很大,能不用则不用,个人观点可执行函数组成:代码段、静态数据区、堆、栈;尾递归新的递归函数的返回值覆盖旧的递归函数返回值packagemain.java.
java
极客123
·
2018-12-26 16:51
Java数据结构与算法
(一)
一、学习数据结构与算法的目的预估程序在大量的数据集上运行时需要的时间成本和空间成本。二、递归简介递归的四条基本法则:一个简单的递归案例:三、实现泛型特性构建pre-java51.引入泛型的好处面向对象的一个重要目标是对代码重用的支持,采用泛型可以提高代码的重用性。然而,泛型编程的实现是通过使用继承的一些基本概念来完成的,java中的基本思想是通过使用像Object这样的超类来实现泛型类。以上的代码
qq_30219537
·
2018-11-15 18:43
[整理]队列
接口及其实现类PriorityQueue实现类,Deque,LinkedList并发队列-有界阻塞队列ArrayBlockingQueue原理探究offer,put,take,poll,peek,size
java
TTKatrina
·
2018-08-23 16:33
Android开发笔记
Java数据结构与算法
(二)数组
Java数据结构与算法
(二)数组数组定义在Java中,存储相同类型的一块(定长)连续内存空间。
mayongzhan_csdn
·
2018-07-24 17:37
数据结构
java数据结构与算法
之平衡二叉树(AVL树)的设计与实现
(请尊重原创,博主保留追究权)http://blog.csdn.net/javazejian/article/details/53892797出自【zejian的博客】关联文章:
java数据结构与算法
之顺序表与链表设计与实现分析
default_ch
·
2018-06-25 15:47
数据结构
算法
数据结构
java数据结构与算法
之树基本概念及二叉树(BinaryTree)的设计与实现
(请尊重原创,博主保留追究权)http://blog.csdn.net/javazejian/article/details/53727333出自【zejian的博客】关联文章:
java数据结构与算法
之顺序表与链表设计与实现分析
default_ch
·
2018-06-25 15:53
数据结构
算法
数据结构
java数据结构与算法
之递归思维(让我们更通俗地理解递归)
(请尊重原创,博主保留追究权)http://blog.csdn.net/javazejian/article/details/53452971出自【zejian的博客】关联文章:
java数据结构与算法
之顺序表与链表设计与实现分析
default_ch
·
2018-06-25 15:27
数据结构
算法
数据结构
java数据结构与算法
之改良顺序表与双链表类似ArrayList和LinkedList(带Iterator迭代器与fast-fail机制)
谢谢~):http://blog.csdn.net/javazejian/article/details/53073995出自【zejian的博客】关联文章:
java数据结构与算法
之顺序表与链表设计与实现分析
default_ch
·
2018-06-25 15:33
数据结构
java数据结构与算法
之顺序表与链表深入分析
:http://blog.csdn.net/javazejian/article/details/52953190出自【zejian的博客】关联文章:
java数据结构与算法
之顺序表与链表设计与实现分析
java
default_ch
·
2018-06-25 14:06
数据结构
算法
数据结构
深入探究
Java数据结构与算法
系列(三)——冒泡排序(基础算法)
引言:在切入到算法这个领域之前,像很多人一样都会去了解这个算法的原理以及它的实现代码。也正是说明了它是总多算法当中的基础中基础,也是带领我们深入到各个算法当中不可或缺的一个步骤,如果有过一点算法基础的人或缺会有个印象,冒泡排序用到了两个for循环,那么一般我们都认为它的时间复杂度为O(N2),,那么今天我们来探究一下冒泡排序算法的实现。基础原理:这个名词的由来很好理解,一般河水中的冒泡,水底刚冒出
校长专栏
·
2018-06-11 11:10
Java数据结构与算法
java数据结构:基于树的堆
本教程的内容基本来自于《
Java数据结构与算法
》堆一种是一种特殊的二叉树结构,包含如下特点:它是完全二叉树,即除了最后一层节点不是满的,其他层节点从左到右都完全是满的;一般使用数组来存储堆数据结构;堆中每个节点的关键字都大于等于
陈华杰
·
2018-05-20 11:45
java
数据结构
算法
Java 数据结构与算法系列之冒泡排序
带着这个好奇心,我去查了下资料,国内基本找不到使用Java写的数据结构与算法书籍,有一本书叫《
Java数据结构与算法
》,这本书的代码是使用Java实现的,不过这本书是国内的学者翻译国外的书籍写出来的,个人感觉这
compassblog
·
2018-05-13 23:01
Java
数据结构与算法
冒泡排序
Java
数据结构与算法
Java 数据结构与算法系列之冒泡排序
带着这个好奇心,我去查了下资料,国内基本找不到使用Java写的数据结构与算法书籍,有一本书叫《
Java数据结构与算法
》,这本书的代码是使用Java实现的,不过这本书是国内的学者翻译国外的书籍写出来的,个人感觉这
compassblog
·
2018-05-13 00:00
数据结构与算法
java
Java数据结构与算法
——二叉树及操作(包括二叉树遍历)
前言:
Java数据结构与算法
专题会不定时更新,欢迎各位读者监督。本篇主要介绍二叉树的概念、二叉树的表示、二叉树的操作(三种遍历方式实现、求二叉树的子树、求节点的父节点、二叉树高度....)
好记性不如烂本子
·
2018-05-06 00:00
先序遍历
二叉树
算法
数据结构和算法
java
Java数据结构与算法
——树(基本概念,很重要)
前言:
Java数据结构与算法
专题会不定时更新,欢迎各位读者监督。本文介绍数据结构里一些复杂的数据结构——树(Tree),相应的会补充一些算法。
好记性不如烂本子
·
2018-05-05 00:00
java
算法
数据结构
树形结构
面试
Java数据结构与算法
入门
第一部分:Java数据结构要理解Java数据结构,必须能清楚何为数据结构?数据结构:Data_Structure,它是储存数据的一种结构体,在此结构中储存一些数据,而这些数据之间有一定的关系。而各数据元素之间的相互关系,又包括三个组成成分,数据的逻辑结构,数据的存储结构和数据运算结构。而一个数据结构的设计过程分成抽象层、数据结构层和实现层。数据结构在Java的语言体系中按逻辑结构可以分为两大类:线
七月半夏
·
2018-04-29 11:50
学习资源
PHP版链表的实现
本文首发于我的博客引用:
Java数据结构与算法
——链表该文章提供的JAVA版的链表的实现。
魔王卷子
·
2018-04-24 00:00
链表
算法
php
上一页
6
7
8
9
10
11
12
13
下一页
按字母分类:
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
其他