![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 88
MOUYULOU
这个作者很懒,什么都没留下…
展开
-
优先级队列(堆)及高频考点TopK问题
优先级队列及高频考点TopK问题堆向下调整与向上调整堆的应用-优先级队列入队列,出队列,返回队首元素TopK问题堆堆本质上是一个二叉树,满足以下几个条件:1.完全二叉树。2.对于树中的任意节点,满足根节点小于左右子树的值(小堆),满足根节点大于左右子树的值(大堆),一个堆如果是小堆,就不可能是大堆。堆的用处:堆最大的用处就是能让我们快速找到一个树中的最大值或者最小值(根节点)。向下调整与向上调整调整原因:一旦堆中元素发生改变(插入/删除)都需要调整堆的结构,让堆的规则不被破环过程:下面以小原创 2021-08-30 23:42:58 · 194 阅读 · 0 评论 -
常见七种排序算法的实现
七种排序算法的实现插入排序直接插入排序原理代码实现时间复杂度空间复杂度希尔排序原理代码实现时间复杂度空间复杂度选择排序选择排序原理代码实现时间复杂度空间复杂度堆排序原理代码实现时间复杂度空间复杂度交换排序冒泡排序原理代码实现时间复杂度空间复杂度快速排序原理代码实现时间复杂度空间复杂度归并排序归并排序原理代码实现时间复杂度空间复杂度总结插入排序直接插入排序原理整个区间被分为:有序区间 无序区间每次选择无序区间的第一个元素,在有序区间内选择合适的位置进行插入。代码实现时间复杂度空间复杂度希尔排原创 2021-08-28 00:21:41 · 1581 阅读 · 1 评论 -
栈 与 队列
栈栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出。压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。出栈:栈的删除操作叫做出栈。出数据在栈顶实现:1,利用顺序表实现 即尾插尾删2.利用链表 头尾皆可队列队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出FIFO(FirstIn First Out) 入队列:进行插入操作的一端称为队尾(Tail/R原创 2021-08-06 18:32:03 · 140 阅读 · 0 评论 -
栈与队列必刷题
括号匹配问题。题目:. 给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。示例:例1:输入:s = “()[]{}”输出:true例2:输入:s = “([)]”输出:false思路:1.判断字符串长度,如果字符串为空则返回true,字符串长度为1则返回false。2.new一个栈,如果为左括号如: ‘ ( ’ ,’ { ‘,’ [ '.则依次入栈,.原创 2021-08-06 00:25:20 · 331 阅读 · 0 评论 -
面向对象编程(二)理解多态 抽象类 接口
面向对象编程(二)抽象类语法规则作用接口抽象类无实际工作的方法,可以设计成一个抽象类,包含抽象方法的类我们称为抽象类。语法规则abstract class shape { abstract public void draw(); }abstract关键字,表示这是一个抽象方法,同时抽象方法没有方法体(没有{}),不能执行具体的代码。对于包含抽象方法的类,必须加上abstract关键字表示这是一个抽象类。注意抽象类不可以被实例化。不能Shape shape=new S原创 2021-05-21 17:26:27 · 325 阅读 · 0 评论 -
面向对象编程(一)包 继承 多态
面向对象编程(一)包导入包中的类将类放到包中包的访问权限常见系统包继承组合多态包包(package)是组织类的一种方式。使用包主要目的是保证类的唯一性。导入包中的类可以使用java.util.Date这种方式引入java.util这个包中的Date类。public class Test { public static void main(String[] args) { java.util.Date date=new java.util.Date(); //原创 2021-05-21 15:53:20 · 337 阅读 · 0 评论 -
类和对象.
类和对象类与对象的初步认识类和类的实例化类的成员字段/属性/成员变量static关键字封装private实现封装getting和setting方法构造方法基本语法this关键字认识代码块普通代码块静态代码块类与对象的初步认识首先我们需要了解面向过程编程和面向对象编程C语言是面向过程的,关注的是过程。分析出求解问题的步骤,通过函数调用逐步解决问题。Java是基于对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间交互完成。面向过程注重的是过程,在整个过程中涉及的行为就是功能。面向对象注重的原创 2021-04-22 18:42:31 · 1161 阅读 · 0 评论 -
带你了解Java中数据类型和运算符
数据类型和运算符数据类型基本数据类型数值型变量字符型变量布尔型变量引用数据类型小结变量的作用域变量的命名规则常量final关键字修饰的常量类型转换隐式类型转换强制类型转换int和String之间转换运算符算术运算符关系运算符逻辑运算符位运算符移位运算条件运算符数据类型基本数据类型数值型变量整形1.byte 字节类型变量 占1个字节 包装类Bytepublic class Testdemo { public static void main(String[] args) {原创 2021-04-03 23:08:43 · 332 阅读 · 0 评论