- 博客(55)
- 收藏
- 关注
原创 【经典练习题】
1、模拟双色球生成案例需求:体彩中有一项是双色球,要求在1-33号共33个红色球里选出6个,1-16号共16个蓝色球中选出一个作为中奖号码,请实现这个需求package PracticeSomeCode;import java.util.Arrays;import java.util.Random;public class ColorBall { public static void main(String[] args) { int[] red = ballBox(33); int
2022-04-14 17:31:43
356
原创 【知识卡片】常用数学概念
1、质数:一个大于1 的自然数,除了1和它本身外,不能被其他自然数整除的数叫做指数,也称为素数。规定:1既不是质数,也不是合数。
2022-04-14 16:05:41
302
原创 【知识卡片】网络编程
ServerSocket 类 : 是一个封装支持TCP协议的操作类,主要工作在服务器端,用于接收客户端请求;Socket 类:是一个封装了 TCP 协议的操作类,每一个Socket 对象都表示了一个客户端ServerSocket类常用操作方法:No.方法名称类型描述1public ServerSocket( int port) throws IOException构造开辟一个指定的端口监听,一般使用5000以上2public Socket accept() t.
2022-04-11 14:16:12
1142
原创 常见Java知识点【3】
1、请问多个线程操作同一个资源时要考虑哪些,会带来哪些问题?多个线程访问同一资源时一定要考虑到同步问题。过多的同步会带来死锁。2、请解释sleep() 和 wait() 的区别sleep()是Thread类定义的 static 方法,表示线程休眠,将执行机会给其他线程,但是监控状态依然保持,到时候会自动恢复;wait()是 Object类定义的方法,表示线程等待,一直到执行了 notify() 或 notifyAll()后才结束等待。3、一个雷是否可以继承 String 类?不能继承。Strin
2022-04-11 10:05:39
437
原创 常见Java知识点【2】
1、请编写一个Singleton程序,并说明其主要特点。特点:构造方法被私有化,只能通过 getInstance()方法取得Singleton 类的实例化对象,这样不管外部如何操作,最终也只有一个实例化对象,在单例设计模式中一定会存在一个static方法,用于取得本类的实例化对象。class Singleton { private final static Singleton instance = new Singleton(); private Singleton(){} //构造方法私有化 p
2022-03-30 09:56:08
190
原创 常见Java知识点【1】
1、一个".java"源文件中是否可以包括多个类?有什么限制?在一个“*.java”文件中可以有多个class定义,但只能有一个 public class定义,且类名要与文件名一致,否则程序无法编译。2、请解释 PATH 和 CLASSPATH 区别?PATH : 是操作系统的环境属性,指的是可以执行命令的程序路径。CLASSPASTH:是所有 *.class 文件的执行路径,java命令执行时将利用此路径加载所需要的 *.class 文件。3、Java语言的主要特点?(1)简洁有效 ; (2)
2022-03-28 15:52:43
721
原创 Oracle为什么收购SUN公司?
从市场上的商用体系系统开发来讲,开发的结构一共分为四层:操作系统、数据库、中间件、编程语言,而Oracle为了完成与微软对等的竞争体系,所以才收购了SUN公司。Oracle和微软在商用开发体系上的服务对比:对比OracleMicrosoft操作系统UNIXWindows数据库Oracle大型数据库SQL Server中小型数据库中间件OAS、收购了BEA得到WebLogicIIS编程语言PLSQL、收购SUN得到JavaWindows收购了S
2022-03-28 10:21:06
3107
原创 计数排序(Counting Sort)
计数排序的核心在于将输入的数值转化为键存储在额外开辟的数组空间中。作为一种线性时间复杂度的排序,计数排序要求输入的数据必须是有确定范围的整数。计数排序(Counting Sort)是一种稳定的排序算法。计数排序使用一个额外的数组C,其中第i个元素是待排序数组A中值等于i的元素的个数。然后根据数组C来将A中的元素排到正确的位置。它只能对整数进行排序。算法描述找出待排序的数组中最大和最小的元素;统计数组中每个值为i的元素出现的次数,存入数组C的第i项;对所有的计数累
2021-12-23 16:32:28
546
1
原创 堆排序(Heap Sort)
文章目录算法描述代码实现堆排序(HeapSort)是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子节点的键值或索引总是小于(或者大于)它的父节点。算法描述将初始待排序关键字序列(R1,R2…Rn)构建成大顶堆,此堆为初始的无序区;将堆顶元素R[1]与最后一个元素R[n]交换,此时得到新的无序区(R1,R2,…Rn-1)和新的有序区(Rn),且满足R[1,2,…n-1]<=R[n];由于交换后新的顶堆R[1]可能违反堆的性质,因此需要对当
2021-12-22 14:04:33
546
原创 快速排序(Quick Sort)
文章目录算法描述动图演示代码实现快速排序的基本思想:通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,则可分别对这两部分记录继续进行排序,已达到整个序列有序。算法描述快速排序使用分治法来把一个串(list)分成两个子串(sub-lists)。具体算法描述如下:从数列中挑出一个元素,称为“基准”(pivot);重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆放到基准值的后面(相同的数可以到任一边)。在这个分区退出之后,该基准就处于数列的
2021-12-15 16:24:58
865
原创 归并排序(Merge Sort)
文章目录算法描述动图演示代码实现算法分析和选择排序一样,归并排序的性能不受输入数据的影响,但表现比选择排序好得多,因为始终都是O(n log n)的复杂度。代价是需要额外的内存空间。归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治(Divide and Conquer)的一个非常典型的应用。归并排序是一种稳定的排序方法。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序列表合并成一个有序表,称为2-路归并。算法描述把长度为n的输入序列分
2021-12-15 13:21:42
179
原创 希尔排序(Shell Sort)
文章目录算法描述代码实现希尔排序是希尔(Donald Shell)于1959年提出的一种排序算法。希尔排序也是一种插入排序,它是简单插入排序经过改进之后的一个更高效的版本,也称缩小增量排序,同时该算法是冲破O(n2)的第一批算法之一。它与插入排序的不同之处在于,它会优先比较距离较远的元素。希尔排序是把记录按下表的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。算法描述希尔排序的基本步骤,选择增量 gap =
2021-12-15 09:36:21
157
原创 插入排序(Insertion Sort)
文章目录算法描述代码实现算法分析插入排序(Insertion-Sort)的算法描述是一种简单直观的排序算法。工作原理是通过构建有序序列,对未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。算法描述一般来讲,插入排序都采用in-place在数组上实现。具体如下:从第一个元素开始,该元素可以认为已经被排序;取出下一个元素,
2021-12-14 15:38:31
105
原创 选择排序(Selection Sort)
文章目录算法描述代码实现算法分析表现最稳定的排序算法之一,因为无论什么数据进去都是O(n2)的时间复杂度,所以用到它的时候,数据规模越小越好。唯一的好处可能就是不占用额外的内存空间了吧。理论上讲选择排序可能也是平时排序一般人想到的最多的排序方法了吧。选择排序(Selection - sort)是一种简单直观的排序算法。工作原理:首先在未排序序列中找到最小(最大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完成。
2021-12-14 14:11:06
677
原创 冒泡排序(Bubble Sort)
文章目录算法描述代码实现算法分析冒泡排序是一种简单的排序算法。它重复地走访要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。算法描述比较相邻的元素。如果第一个比第二个大,就交换它们两个;对每一对相邻元素作相同的工作,从开始第一对到结尾的最后一对,这样在最后的元素应该会是最大的数;针对所有的元素重复以上的不走,除了最后一个;重复前三个步骤
2021-12-14 10:23:11
210
原创 JavaSE基础--(5)面向对象下
单例模式,继承性,方法的重写,四种访问权限修饰符,关键字super,子类对象实例化过程,多态性,Object类的使用,static和final关键字的使用,初始化块
2021-12-07 17:13:12
142
原创 JavaSE基础--(4)面向对象上
面向对象上:包含面向对象与面向过程,类和对象,属性,方法,封装和隐藏,构造器(构造方法),this的使用,值传递,package、import的使用
2021-12-06 10:23:34
248
原创 Java知识体系结构图
可参照此结构,一点一点补充自己的知识储备,建立完整的知识体系,走向“成神之路”。目前还是小白的我,先参考了大佬的总结,往后会不定期更新,精炼出自己的东西。
2021-11-30 10:24:26
461
原创 日志 2021.11.25
是想成为一名计算机领域的专家的,望依次满足人生的成就感,其根源是对科学和技术的向往。就像当初选择自动化专业一样。以秃头为代价努力奋斗吧!
2021-11-25 14:12:55
74
原创 JavaSE基础--多线程
涵盖了所有多线程的知识点,具体使用上还要配合算法案例进行自我学习,并多加练习才能熟练掌握,感觉光看知识点仅仅是基础中的基础!
2021-11-23 17:10:58
461
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人