![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
五迷α温柔
这个作者很懒,什么都没留下…
展开
-
二叉排序树相关知识详解
二叉排序树(BST树)二叉树。二叉排序树或是一棵空树,或具有以下特性:1.若左子树非空,其左子树上所有结点的值均小于根节点的值;2.若右子树非空,其右子树上所有结点的值均大于根节点的值;3.左右子树也满足二叉排序树的特性;4.左子树结点值<根节点值<右子树结点值,所以如果对二叉排序树进行中序0遍历可以得到一个递增的有序序列。...原创 2020-11-21 20:57:50 · 553 阅读 · 0 评论 -
特殊二叉树概念特点总结
特殊二叉树的总结满二叉树完全二叉树二叉排序树(BST树)平衡二叉树(AVL树)红黑树满二叉树一棵树高为和,且含有2h-1个结点的二叉树称为满二叉树,即树中的每层都含有最多的结点。特点:1.树的每层都有最多的结点;2.树中含有的结点个数为2h-1;3.叶子节点都在最底下一层,除叶子节点外的所有结点度数都为2。完全二叉树高度为h、有n个结点的二叉树,当且仅当其每个节点都与高度为h的满二叉树编号一 一对应时,成为完全二叉树。特点:1.叶子结点只可能出现层次最大(最底下)两层中,最大层的叶子原创 2020-11-18 15:09:52 · 411 阅读 · 0 评论 -
二叉树的遍历(前、中、后、层)
二叉树的遍历二叉树代码前序遍历中序遍历后序遍历层序遍历推算遍历结果(知二求一)二叉树代码先展示二叉树的代码,此处的二叉树实现通过前序遍历加上补空的字符串来实现二叉树,具体代码如下:public class Tree { TreeNode root=null; class TreeNode<T>{//自定义二叉树结点类 T value; TreeNode left; TreeNode right; TreeNo原创 2020-11-17 14:47:34 · 237 阅读 · 0 评论 -
排序算法相关知识总结
排序算法冒泡排序冒泡排序的特性选择排序选择排序的特性插入排序插入算法的特性希尔排序希尔排序的特性归并排序堆排序快速排序冒泡排序1.比较相邻两个元素,如果第一个比第二个大,就交换他们两个;2.对每一对相邻元素作同样的工作,从开始第一对到结尾最后一对,这样在最后的元素就会是最大的数;3.重复以上步骤,直到排序完成.import java.util.Arrays;public class bubbleSort { public static void main(String[] args)原创 2020-11-08 19:09:55 · 251 阅读 · 1 评论 -
并发编程:火车票多窗口售票问题
并发编程:火车票多窗口售票问题方法一:通过synchronized关键字实现火车票多窗口售票直接通过使用并发编程解决,实现一个车票类,给车票售卖的方法加锁,使得在某一时刻只有一个线程可以使用该方法,即某一时刻只有一个窗口可以出票,不会导致多线程操作使得剩余车票数量异常。话不多说,直接上代码:import java.util.Random;//通过synchronized关键字实现public class TicketSale { //火车票售票系统,实现多窗口售票 privat原创 2020-08-25 16:59:39 · 508 阅读 · 0 评论 -
线程的三种创建方式
线程的创建线程的创建包括三种方式:1.继承Thread类,重写run方法;2.实现Runnable接口,重写Runnable方法;3.实现Callable接口,重写call方法。继承Thread类只需继承Thread类,重写run方法,将子线程即将进行的业务添加至run方法中实现即可。public class DIYThread extends Thread{ //重写run方法 @Override public void run() { System.原创 2020-08-24 17:48:17 · 119 阅读 · 0 评论 -
类加载器及双亲委派模型
类加载器类加载器的类型类型加载地址Boostrap ClassLoader(启动类加载器)jre/lib/rt.jarExtension ClassLoader(启动类加载器)jre/lib/ext/*.jarApplication ClassLoader(启动类加载器)CLASSPATH(1) Bootstrap ClassLoader(启动类加载...原创 2019-10-07 21:21:52 · 123 阅读 · 0 评论 -
递归与非递归解决二分查找
二分查找非递归算法 public static int binarySearch(int []arr,int target){ int left=0; int right=arr.length-1; while(right>left){ int mid=left+(right-left)/2; ...原创 2019-10-07 17:22:31 · 89 阅读 · 0 评论 -
判断输出序列是否为所给序列
判断输出序列是否为所给序列逻辑首先判断两数组长度,若所给序列数组长于输入数组,则输出序列肯定不是所给序列。将输入序列进栈,判断栈顶元素是否与输出序列相同,不同则继续进栈,相同则栈顶元素出栈,直到栈空或者栈顶元素与对应输出序列元素不同时结束循环,继续进展。最终判断输出序列数组下标是否为order.length。是则输出true,其他输出false。图解程序import java.ut...原创 2019-09-22 13:34:28 · 206 阅读 · 0 评论 -
java运算符优先级及其使用
这里写自定义目录标题运算符算术运算符关系运算符合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入运算符运算符是用来表示某种运算的...原创 2019-09-15 11:49:22 · 131 阅读 · 0 评论