Java程序
五迷α温柔
这个作者很懒,什么都没留下…
展开
-
二叉排序树相关知识详解
二叉排序树(BST树)二叉树。二叉排序树或是一棵空树,或具有以下特性:1.若左子树非空,其左子树上所有结点的值均小于根节点的值;2.若右子树非空,其右子树上所有结点的值均大于根节点的值;3.左右子树也满足二叉排序树的特性;4.左子树结点值<根节点值<右子树结点值,所以如果对二叉排序树进行中序0遍历可以得到一个递增的有序序列。...原创 2020-11-21 20:57:50 · 579 阅读 · 0 评论 -
二叉树的遍历(前、中、后、层)
二叉树的遍历二叉树代码前序遍历中序遍历后序遍历层序遍历推算遍历结果(知二求一)二叉树代码先展示二叉树的代码,此处的二叉树实现通过前序遍历加上补空的字符串来实现二叉树,具体代码如下:public class Tree { TreeNode root=null; class TreeNode<T>{//自定义二叉树结点类 T value; TreeNode left; TreeNode right; TreeNo原创 2020-11-17 14:47:34 · 393 阅读 · 0 评论 -
排序算法相关知识总结
排序算法冒泡排序冒泡排序的特性选择排序选择排序的特性插入排序插入算法的特性希尔排序希尔排序的特性归并排序堆排序快速排序冒泡排序1.比较相邻两个元素,如果第一个比第二个大,就交换他们两个;2.对每一对相邻元素作同样的工作,从开始第一对到结尾最后一对,这样在最后的元素就会是最大的数;3.重复以上步骤,直到排序完成.import java.util.Arrays;public class bubbleSort { public static void main(String[] args)原创 2020-11-08 19:09:55 · 527 阅读 · 1 评论 -
并发编程:火车票多窗口售票问题
并发编程:火车票多窗口售票问题方法一:通过synchronized关键字实现火车票多窗口售票直接通过使用并发编程解决,实现一个车票类,给车票售卖的方法加锁,使得在某一时刻只有一个线程可以使用该方法,即某一时刻只有一个窗口可以出票,不会导致多线程操作使得剩余车票数量异常。话不多说,直接上代码:import java.util.Random;//通过synchronized关键字实现public class TicketSale { //火车票售票系统,实现多窗口售票 privat原创 2020-08-25 16:59:39 · 554 阅读 · 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 · 139 阅读 · 0 评论 -
特殊流/数据流(DataInputStream与DataOutputStream)分析
特殊流(DataInputStream与DataOutputStream)分析特殊流/数据流(DataInputStream与DataOutputStream)引用的是字节流,所以DataInputStream与DataOutputStream属于高级流。DataInputStream数据输入流允许应用程序以与机器无关方式从底层输入流中读取基本Java数据类型。应用程序可以使用数据输出流写入...原创 2019-11-24 01:12:48 · 500 阅读 · 0 评论 -
判断输出序列是否为所给序列
判断输出序列是否为所给序列逻辑首先判断两数组长度,若所给序列数组长于输入数组,则输出序列肯定不是所给序列。将输入序列进栈,判断栈顶元素是否与输出序列相同,不同则继续进栈,相同则栈顶元素出栈,直到栈空或者栈顶元素与对应输出序列元素不同时结束循环,继续进展。最终判断输出序列数组下标是否为order.length。是则输出true,其他输出false。图解程序import java.ut...原创 2019-09-22 13:34:28 · 231 阅读 · 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 · 110 阅读 · 0 评论