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数据结构
:链栈,双端栈,循环单链表
链栈**注意:**在指定栈顶的时候,将数据前面的位置作为栈顶1.当数据后为栈顶时:插入为n(1)删除为n(n)-->需要找到所删除数据的前一个数A2.当表头的下一个为栈顶时:插入与删除均为n(1)代码实现(基于链表的实现基础之上)packageDS02动态链表;importDS01.Stack;importjava.util.Iterator;publicclassLinkedStackimple
Re__CODE
·
2020-08-19 03:31
Java数据结构
与算法-快速排序与归并排序
快速排序1.快速排序原理2.快排的递归实现3.代码4.测试排序的速度1,排序原理快速排序(Quicksort)是对冒泡排序的一种改进。基本思想:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列2,快速排序的示意图3,快速排序的应用实例需求:对{20,
@大美妞
·
2020-08-19 03:51
Java数据结构
与算法-栈实现综合计算器(中缀表达式)
栈实现综合计算器(中缀表达式)栈的学习目标1.栈的介绍以及特点2.栈的应用3.代码实现案例4.分析案例难点一,栈的介绍以及特点栈是一个特殊的线性表,限定只能在尾部(栈顶)进行插入和删除,可以用数组模拟也可以用链表模拟,特点是先进后出,第一个入栈的元素放到了栈底,第一个出去的元素称为栈顶。二,栈的应用场景比如逆序打印队列或者链表都可以利用栈的特点实现,这次我的案例是计算一个表达式的值,利用栈进行存储
@大美妞
·
2020-08-19 03:20
算法
数据结构
java
栈
队列
[
Java数据结构
][5]Java通过站实现简易计算器
[
Java数据结构
][5]Java通过站实现简易计算器文章目录[
Java数据结构
][5]Java通过站实现简易计算器原理讲解新增的方法1.返回栈顶元素,用于之后不取出的比较2.返回运算符的优先级,数字越大
会时
·
2020-08-19 01:07
JAVA
数据结构
基础
Java数据结构
-栈:在线进制转换
先把输入的进制,转换成10进制,再用10进制转换到目标进制importjava.util.Scanner;publicclassQuanneng{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubScannerinput=newScanner(System.in);System.out.println("*******
@大愚@
·
2020-08-19 00:50
java数据结构
Java数据结构
及工具类
`1数据结构常见的数据结构:栈堆,队列,数组,链表和红黑树栈栈:它是运算受限的线性表,其限制是仅允许在标的一端进行插入和删除操作,不允许在其他任何位置进行添加,查找,删除等操作先进后出(即,存进去的元素,要在后它后面的元素依次取出后,才能取出该元素)栈的入口,出口都是栈的顶端位置压栈:就是存元素。即,把元素存储到栈的顶端位置,栈中已有元素依次向栈底方向移动一个位置弹栈:就是取元素。即,把栈的顶端位
JackLi_Liang
·
2020-08-18 17:07
黑马学习笔记
Java数据结构
及工具类的详解
`1数据结构常见的数据结构:栈堆,队列,数组,链表和红黑树栈栈:它是运算受限的线性表,其限制是仅允许在标的一端进行插入和删除操作,不允许在其他任何位置进行添加,查找,删除等操作先进后出(即,存进去的元素,要在后它后面的元素依次取出后,才能取出该元素)栈的入口,出口都是栈的顶端位置压栈:就是存元素。即,把元素存储到栈的顶端位置,栈中已有元素依次向栈底方向移动一个位置弹栈:就是取元素。即,把栈的顶端位
JackLi_Liang
·
2020-08-18 17:37
黑马学习笔记
Java数据结构
与算法—数组
本节目标:1.掌握数组的特点2.掌握有序数组、无序数组的操作3.掌握数组中二分查找算法数组在Java中,数组是一种效率最高的存储和随机访问对象引用序列的方式,数组就是一个简单的线性序列,这使得元素访问非常快速,无论使用哪种类型的数组,数组标识符其实只是一个引用,指向在堆中创建的一个真实对象,这个(数组)对象用以保存指向其他对象的引用。数组是第一级对象,可以作为数组初始化语句的一部分隐式地创建此对象
Devin01213
·
2020-08-18 07:10
数据结构与算法
Java数据结构
与算法:平衡二叉树AVL、左旋转、右旋转、双向旋转、代码实现
文章目录平衡二叉树AVL.向左旋转.向右旋转.双向旋转.代码实现平衡二叉树AVL平衡二叉树是对二叉排序树的增强。AVL树是最先发明的自平衡二叉查找树。在AVL树中任何节点的两个子树的高度最大差别为1,所以它也被称为高度平衡树。增加和删除可能需要通过一次或多次树旋转来重新平衡这个树。AVL树得名于它的发明者G.M.Adelson-Velsky和E.M.Landis,他们在1962年的论文《Analg
_heroC
·
2020-08-18 06:34
Java数据结构与算法
Java数据结构
——堆栈、队列、数组、链表、数组、红黑树、哈希表
数据存储的常用结构有:栈、队列、数组、链表和红黑树。栈栈:stack,又称堆栈,它是运算受限的线性表,其限制是仅允许在标的一端进行插入和删除操作,不允许在其他任何位置进行添加、查找、删除等操作。简单的说:采用该结构的集合,对元素的存取有如下的特点先进后出(即,存进去的元素,要在后它后面的元素依次取出后,才能取出该元素)。例如,子弹压进弹夹,先压进去的子弹在下面,后压进去的子弹在上面,当开枪时,先弹
榴莲男孩
·
2020-08-18 06:33
#Java
学习笔记
【
Java数据结构
】栈、队列、链表
B站链接:
Java数据结构
栈:栈的底层我们使用数组来存储数据packagedemo2;publicclassMyStack{//栈的底层我们使用数组来存储数据int[]elements;publicMyStack
磕磕绊绊、
·
2020-08-18 05:09
数据结构
数据结构
java
链表
队列
Java数据结构
-基本数据结构(队列、栈、单双链表、哈希表)
线性结构线性结构特点数据元素健存在一对一的线性关系有两种不同的存储结构:顺序存储结构和链式存储结构链式存储的线性表成为链表,链表中的存储元素不一定是连续的,元素节点中存放数据元素信息以及相邻元素的地址信息线性结构常见类型有:数组,队列,链表,栈稀疏数组和队列稀疏数组当一个数组中大部分元素为0,或者为同一个值的数组时,可以用稀疏数组来保存该数组稀疏数组的第一行用来记录该数组共几行几列,并且有多少个不
微特程序员
·
2020-08-18 02:22
数据结构与算法
Java学习
Java数据结构
-链表实现栈与队列
链表的优点在于对表头元素的插入和删除复杂度很低,所以对于链表实现的栈复杂度很低。链表的代码/***@Author:Cui*@Date:2020/7/9*@Description:*/publicclassLinkedList{privateclassNode{Ee;Nodenext;Node(Ee,Nodenext){this.e=e;this.next=next;}Node(Ee){this(e
浪书生。
·
2020-08-18 02:17
经验分享
Java数据结构
之——栈:用链表实现
classNode{Edata;Nodenext=null;publicNode(Edata){this.data=data;}}publicclassListStack{Nodetop=null;publicbooleanempty(){returntop==null;}//头插法插入新节点,实现入栈publicvoidpush(Edata){NodenewNode=newNode(data);
且听风吟WB
·
2020-08-18 00:04
Java基础学习
java 队列与栈实现(链表与数组)
我们经常会问到
java数据结构
可以怎么实现,看过了算法之后得到很大启发,这里整理如下。
answers1993ai
·
2020-08-17 21:30
算法
java数据结构
与算法3---链表、栈与队列(1)
java数据结构
与算法3---链表、栈与队列(1)概述3种结构链表:相对于数组来讲,链表结构不需要地址连续,它是通过指针的指向关系将一个个地址不连续的元素联系起来构成类似链式的结构;链表分为单向链表和双向链表
小猿同学学Java
·
2020-08-17 18:09
数据结构与算法(刷题)
排序算法总结
基于《
Java数据结构
和算法(第二版)》,作者:RobertLafore译者:计晓云赵研曾希狄小菡目标:把一组棒球队队员按身高排序(从左至右从矮到高)。
|bugbugbug|
·
2020-08-17 09:29
基础知识
java数据结构
array与ArrayList的不同
“ArrayList是会自动扩容array”最显著的区别就是array是静态的对象引用,而ArrayList是动态类。1.implementation(实现)ArrayList是一个基于array来自Java集合类的类,一个接口(API,Applicationprogramminginterface)。Array本身是对象的reference(对象引用),它可直接做为函数返回值。2.Flexibi
拾贰丶
·
2020-08-17 02:48
java入门
java数据结构
和算法——二分查找算法
目录一、二分查找算法的介绍二、二分查找算法的思路分析三、二分查找算法的示例需求1(数组中的数值都不相同)四、二分查找算法的示例需求1演示五、二分查找算法的示例需求2(数组中有多个相同的数值时)六、二分查找算法的示例需求2演示一、二分查找算法的介绍二分查找又称为折半查找假设表中元素是按升序排列(必须是有序列表),将表中间位置记录的关键字与查找关键字比较如果两者相等,则查找成功;否则利用中间位置记录将
小志的博客
·
2020-08-17 01:33
java数据结构和算法
java数据结构
和算法——线性查找算法
目录一、线性查找算法的介绍二、线性查找算法的应用示例需求三、线性查找算法的应用示例一、线性查找算法的介绍线性查找又称顺序查找,是一种最简单的查找方法,它的基本思想是从第一个记录开始,逐个比较记录的关键字,直到和给定的K值相等,则查找成功;若比较结果与文件中n个记录的关键字都不等,则查找失败。查找是对具有相同属性的数据元素(记录)的集合(数据对象)进行的,称之为表或文件,也称字典。对表的查找,若仅对
小志的博客
·
2020-08-17 01:33
java数据结构和算法
java数据结构
和算法——基数排序算法
目录一、基数排序算法的(桶排序)介绍二、基数排序算法的基本思想三、基数排序算法的思路分析图解四、基数排序算法的应用示例需求五、基数排序算法的推导过程示例演示六、基数排序算法的完整示例演示七、测试基数排序算法所消耗的时间示例八、基数排序存算法注意事项一、基数排序算法的(桶排序)介绍基数排序(radixsort)属于“分配式排序”(distributionsort),又称“桶子法”(bucketsor
小志的博客
·
2020-08-17 01:32
java数据结构和算法
java数据结构
和算法——归并排序算法
目录一、归并排序介绍二、归并排序算法的思路分析图三、归并排序算法的应用示例需求四、归并排序算法的示例五、测试归并排序算法一千万条数据所消耗的时间示例一、归并排序介绍归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各
小志的博客
·
2020-08-17 01:32
java数据结构和算法
java数据结构
和算法目录(持续更新中)
java数据结构
和算法目录01.数据结构和算法01之数组02.数据结构和算法02之栈和队列03.数据结构和算法03之链表04.数据结构和算法04之二叉树05.数据结构和算法05之红-黑树06.数据结构和算法
武哥聊编程
·
2020-08-16 23:15
Java数据结构
与算法排序之----------------插入排序
在大多数情况下,插入排序算法是基本的排序算法中最好的一种。虽然插入排序算法仍然需要O(N^2)的时间,但是在一般情况下,它要比冒泡排序快一倍,比选择排序还要快一点。尽管它比冒泡排序和选择排序算法都更麻烦一些,但它也并不很复杂。它经常被用在比较复杂的排序算法的最后阶段,列入快速排序。用插入排序为棒球队员排序开始插入排序之前,把棒球队员按随机顺序排成一行。(他们可能急着想打球,但是现在显然没有时间让他
weixin_40423572
·
2020-08-16 09:22
算法
Java数据结构
与算法——直接插入排序
排序算法直接插入排序直接插入排序一个序列中只有1个元素那它一定是有序的取原序列第一个元素作为子序列,这个子序列一定是有序的取出原序列第二个元素赋值给哨兵,将哨兵的值与子序列最后一个元素进行比较如果子序列最后一个元素大于哨兵的值,将子序列扩大一位,将子序列最后一个元素后移一位循环遍历哨兵与子序列前一位的值的大小,直到当前值小于哨兵的值,就将哨兵的值放在子序列当前下标+1处这样子序列一样是有序的如果子
qq_31241107
·
2020-08-16 07:51
数据结构与算法
java数据结构
之直接插入排序
直接插入排序(StraightInsertionSort)是一种最简单的排序方法,其基本操作是将一条记录插入到已排好的有序表中,从而得到一个新的、记录数量增1的有序表。在日常生活中,经常碰到这样一类排序问题:把新的数据插入到已经排好的数据列中。例如:一组从小到大排好顺序的数据列{1,2,3,4,5,6,7,9,10},通常称之为有序列,我们用序号1,2,3,…表示数据的位置,欲把一个新的数据8插入
Cholechow
·
2020-08-16 06:12
java
数据结构
如何优雅地停止 Spring Boot 应用?
武培轩推荐搜索SpringBoot
Java数据结构
MySQLNginxElasticsearch首先来介绍下什么是优雅地停止,简而言之,就是对应用进程发送停止指令之后,能保证正在执行的业务操作不受影响,
武培轩
·
2020-08-15 23:50
spring
程序员
后端
java数据结构
与算法--第一章总结
数据结构基本概念第一章主要是对数据结构的基本概念的描述,并且对面向对象的一些基本知识进行理论性解释。总结以下几点:1、数据结构是对计算机内存(或者磁盘)中的数据的一种安排,它包括数组、链表、栈、二叉树、哈希表等;算法对这些结构的数据进行各种处理,比如排序等。2、最重要的数据结构是图。3、除了数组之外,其他的被称为抽象数据结构(ADT)。4、数据库->记录(相当于java中的对象)->字段(变量,在
lxwthinker
·
2020-08-15 23:18
java
性能调优必备利器之 JMH
武培轩推荐搜索
Java数据结构
SpringBootMySQLRedisNginxif快还是switch快?HashMap的初始化size要不要指定,指定之后性能可以提高多少?
武培轩
·
2020-08-15 23:55
Java
JMH
性能调优
5 个 IDEA 必备插件,让效率成为习惯
武培轩推荐搜索
Java数据结构
SpringBootMySQLRedisElasticsearchIDEA是最好的IDE,谁赞成,谁反对?
武培轩
·
2020-08-15 23:50
IDEA
插件
程序员
Java 线程池中的线程复用是如何实现的?
武培轩推荐搜索
Java数据结构
SpringBootMySQLRedisElasticsearch前几天,技术群里有个群友问了一个关于线程池的问题,内容如图所示:关于线程池相关知识可以先看下这篇:为什么阿里巴巴
武培轩
·
2020-08-15 23:10
程序员
线程池
源码解读
一个故事带你了解版本控制
武培轩推荐搜索Git
Java数据结构
SpringBootMySQLRedis当我们初次在项目中使用版本控制时,这个概念可能难以理解。
武培轩
·
2020-08-15 23:22
Java
程序员
版本控制
什么是 Spring Cloud?| 文末赠书
原创武培轩武培轩6月29日来自专辑SpringBoot系列武培轩推荐搜索送书SpringBoot
Java数据结构
MySQLRedisSpringCloud是一系列框架的有序集合,它利用SpringBoot
武培轩
·
2020-08-15 23:55
送书
程序员
后端
Spring Boot 集成阿里云 OSS 进行文件存储
武培轩推荐搜索SpringBoot
Java数据结构
MySQLRedisElasticsearch最近因为项目中需要存储很多的图片,不想存储到服务器上,因此就直接选用阿里云的对象服务(ObjectStorageService
武培轩
·
2020-08-15 23:07
spring
boot
阿里
后端
java数据结构
继承图1.Enumeration主要用于遍历其他数据结构Enumerationxxx=c.elements()while(xxx.hasMoreElements()){System.out.println(xxx.nextElement());}2.Iterator主要用于遍历其他数据结构Iteratorxxx=c.iterator();while(xxx.hasNext()){System.ou
比锅
·
2020-08-15 22:35
JAVA
Java数据结构
与算法----将稀疏数组保存到磁盘,并恢复
练习:将稀疏数组保存到磁盘,并恢复//稀疏数组保存到磁盘,并恢复importjava.io.*;importjava.io.OutputStreamWriter;importjava.io.InputStreamReader;publicclassSparseArrSave{publicstaticvoidmain(String[]args){int[][]chessArr1=newint[11]
别怕别怕
·
2020-08-15 04:34
Java数据结构与算法
图解
Java数据结构
之稀疏数组
在编程中,算法的重要性不言而喻,没有算法的程序是没有灵魂的。可见算法的重要性。然而,在学习算法之前我们需要掌握数据结构,数据结构是算法的基础。我在大学的时候,学校里的数据结构是用C语言教的,因为对C语言也不是很了解,所以掌握得不是特别好,在网上找的一些学习资料里也基本都是用C语言来进行数据结构的教学。那么,从本篇文章开始,我将用Java语言来介绍数据结构,当然,数据结构过后就是算法。线性结构和非线
~wangweijun
·
2020-08-15 03:13
图解Java数据结构
Java数据结构
-003队列-数组模拟环形队列
1.数组模拟环形队列数组模拟环形队列是对数组模拟队列的一种改进,因为数组模拟队列只能使用一次,没有达到复用的效果,所以在原有的基础上对其进行改进.通过取模的方式来实现即可要点:要做到循环,必须有一个空的位置,即数组为maxSize,队列有maxSize-1个位置rear指向队列的最后一个元素的后一个位置2.思路分析:思路:1.maxSize表明数组的最大容量2.front=0front就指向队列的
Big_邦
·
2020-08-15 03:20
数据结构
Java数据结构
与算法之Array数组
目录:1.数组概述2.java中数组的初始化3.java中针对数组的API4.数组排序5.字符串转数组(char[]/int[])6.二维数组的操作1.数组概述数组是重要的数据结构之一,以线性结构来存储固定数量大小,数据类型相同的数据2.java中数组的初始化(1)声明和初始化分开//声明//int[]a;inta[];//申请空间,int数组默认初始值为0a=newint[5];//根据下标单个
小巷下起了雨
·
2020-08-15 02:50
JAVA
java数据结构
-稀疏数组
标题:稀疏数组(sparsearray数组)1.先看一个实际的需求1.1编写的五子棋程序中,有存盘退出和续上盘的功能。1.2分析问题:因为该二维数组的很多值是默认值0,因此记录了很多没有意义的数据->稀疏数组。2.稀疏数组介绍2.1当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。2.2稀疏数组的处理方法是(如下图):(1)记录数组一共有几行几列,有多少个不同的值(
mr cp0
·
2020-08-15 02:07
JAVA数据结构与算法
Java数据结构
-稀疏数组
稀疏数组就是数组中,大部分的元素值都未被使用(或都为0),在数组中仅有少部分的空间使用。因此造成内存空间的浪费,为了解决这问题,并且不影响数组中原有的元素值,我们采用了一种压缩的方式来表示稀疏数组的内容。publicclassarray06{publicstaticvoidmain(String[]args){int[][]Data={{0,0,0,0,0,0,0},{0,3,0,0,0,0,0}
likaiwalkman_Victor
·
2020-08-15 02:37
Javascript
稀疏数组_JAVA
尚硅谷
Java数据结构
和算法尚硅谷-韩顺平需求先看一个实际的需求:编写的五子棋程序中,有存盘退出和续上盘的功能。因为该二维数组的很多值是默认值0,因此记录了很多没有意义的数据。
imxlw00
·
2020-08-15 02:07
数据结构
JAVA数据结构
-稀疏数组
稀疏数组什么是稀疏数组?假设有这样的一个二维数组shape是11x11,但是很多数据都是0,比较浪费空间,我们可以通过一些方法来压缩这个数组,稀疏数组就是一种压缩数组的方法,通过稀疏数组变换后,原数组变为变成了4X3,节约了很多空间稀疏数组存储原理当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。稀疏数组处理数据的方法是:记录数组一共有几行几列,有多少个不同的值把具
fengsed
·
2020-08-15 02:50
Java数据结构与算法
Java数据结构
与算法----稀疏数组(sparearray)
文章目录稀疏数组概念应用场景(实际需求)思路分析程序练习稀疏数组概念当一个二维数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。稀疏数组是以一种压缩的方式来表示数组。数组元素的索引不一定要连续的,它们之间可以有空缺。每个javaScript数组都有一个length属性。针对非稀疏数组,该属性就是数组元素的个数;针对稀疏数组,length比所有元素的个数要大。稀疏数组的处理
别怕别怕
·
2020-08-15 01:49
Java数据结构与算法
Java数据结构
---认识稀疏数组
目录从实际背景聊一聊什么是稀疏数组1.实际需求2.基本介绍3.应用实例4.代码实现从实际背景聊一聊什么是稀疏数组1.实际需求2.基本介绍当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。稀疏数组的处理方法是:(1)记录数组一共有几行几列,有多少个不同的值(2)把具有不同值的元素的行列及值记录在一个小规模的数组中,从而缩小程序的规模3.应用实例(1)使用稀疏数组,来保
四维空间@
·
2020-08-15 01:50
Java数据结构与算法
Java数据结构
-001数组-稀疏数组
1.稀疏sparsearray数组这是一个五子棋盘。我们如果想要保存棋盘及棋子的数据,因为该二维数组的很多值是默认值0,因此记录了很多没有意义的数据。所以将棋盘的大小和棋子对应的位置保存在一个新的数组中。所以就使用到稀疏数组来解决该问题。2.基本介绍1.当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。2.稀疏数组的处理方法是:2.1记录数组一共有几行几列,有多少个
Big_邦
·
2020-08-15 01:42
数据结构
Java数据结构
----稀疏数组
我们先看一个实际的需求:编写一个五子棋盘程序,并存在退出后存盘功能和续上盘的功能。解决方案方案一:将这个棋盘模拟成一个二维数组,将数据存储起来。方案二:使用稀疏数组,将棋盘存储起来,并达到一个数据压缩的效果。解决方案优劣势分析方案一:优势:简单方便,代码简单。劣势:造成数据冗余,有很多不必要的数据存储下来了。方案二:优势:节省储存空间劣势:代码稍微复杂一些稀疏数组简介代码实现publicclass
justLym
·
2020-08-15 01:27
Java基础
Java数据结构和算法
java数据结构
链表
链表链表是有序的列表,但是它的内存中是如下图存储的小结:1)链表是以节点的方式来存储,是链式存储2)每一个加点包含data域,next域:指向下一个结点3)如图:发现链表的各个节点不一定是连续存储4)链表分为有头节点的和没有头结点的,根据需求来确定自己的设计单链表如图所示:(带头结点的)链表很好理解:主要掌握链表的增删改查等操作,话不多说,直接上实例:使用带head头的单链表实现水浒英雄的排行//
猿小白_white
·
2020-08-14 22:09
Java
Java数据结构
之树
基本概念树是数据元素间具有层次关系的非线性结构,是由n个结点构成的有限集合,结点数为0的树叫空树。一个非空树有且仅有一个根结点,其余结点可以分为m个不相交的有限集合,每个集合又构成一棵树,叫根结点的子树。树具有“一对多”的逻辑对应关系。树的术语结点:构成树的基本单位结点的路径:从根结点到该结点所经过结点的顺序排列路径的长度:路径中包含的分支数结点的度:结点拥有的子树的数目树的度:树中所有结点的度的
Monkey_Joker
·
2020-08-14 21:55
Java数据结构
java数据结构
源码解读——优先队列
优先队列就是PriorityQueue,每次插入都能以O(logN)的时间整理好元素,然后让最大/最小值处于根位置,从而能够以O(1)时间访问最大/最小值。如果父节点的值总是大于等于子节点的值,那么称为大根堆(根是最大值),反之,如果父节点总是小于等于子节点的值,那么称为小根堆。著名的TopK算法就是以此为基础实现的。让我们探索一下jdk的优先队列。首先观察字段:privatestaticfina
_六六先森
·
2020-08-14 21:34
随笔
上一页
20
21
22
23
24
25
26
27
下一页
按字母分类:
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
其他