复杂度分析[学习笔记]

2021-06-17
阅读 9 分钟
1.4k
我们都知道,数据结构和算法本身解决的是“快”和“省”的问题,即如何让代码运行得更快,如何让代码更省存储空间。所以,执行效率是算法一个非常重要的考量指标。那如何来衡量你编写的算法代码的执行效率呢?这里就要用到我们今天要讲的内容:时间、空间复杂度分析。其实,只要讲到数据结构与算法,就一定离不开时间、空间...

插入排序

2021-01-12
阅读 5 分钟
1.2k
<font face=黑体>插入排序是一个时间复杂度为 O(n^2) 的排序算法,所以当 n 增大 10 倍的时候,排序所需时间差不多差不多增加了 100 倍,运行结果如下所示:

选择排序

2021-01-12
阅读 4 分钟
1.2k
选择排序思路<font face=黑体>在需要排序的数据域中,先把最小的拿出来,放在合适的位置;<font face=黑体>剩下的,再把最小的拿出来,放在合适的位置;<font face=黑体>剩下的,再把最小的拿出来,放在合适的位置;<font face=黑体>...<font face=黑体 color = red>每次选择还没有处理的...

Java 多线程(二)——线程安全

2020-11-17
阅读 5 分钟
1.2k
一、前言<font face=黑体> 多线程的实现方式我们已经讲完了,今天我们来讲线程安全。二、线程安全2.1、线程安全概述<font face=黑体>如果有多个线程在同时运行,而这些线程可能会同时访问某一共享变量,这样就会产生线程安全问题。<font face=黑体>我们通过一个卖票案例来演示线程安全问题: {代码......

Java 多线程(一)——多线程的实现方式

2020-11-13
阅读 4 分钟
1.5k
一、前言<font face=黑体>Java 异常的处理方式与自定义异常 我们已经讲完了,从今天开始我们来学习多线程。二、与多线程相关的概念2.1、并发与并行并发:<font face=黑体>指两个或多个事件在同一个时间段内发生,具体如下图所示:并行:<font face=黑体>指两个或多个事件在同一时刻发生(同时发生),...

Java 异常的处理方式与自定义异常

2020-11-07
阅读 10 分钟
2.2k
一、前言<font face = 黑体>Java 集合系列已经讲完了,接下来我们来讲异常与多线程。[ ] Java 基础语法;[ ] 面向对象和封装;[ ] 常用 API 第一部分;[ ] 继承与多态;[ ] 常用 API 第二部分;[x] 集合;[ ] 异常与多线程;[ ] File 类与 IO 流;[ ] 网络编程;[ ] JDK 8 新特性。二、异常2.1、异常概念<font ...

Java 集合(四)——集合总结

2020-11-07
阅读 4 分钟
1.2k
一、前言<font face=黑体>Java 集合系列文章如下:<font face=黑体>Java 集合(一)——Collection集合接口、Iterator 迭代器和泛型;<font face=黑体>Java 集合(二)——List、Set集合和Collections工具类;<font face=黑体>Java 集合(三)——Map 集合;<font face=黑体>这篇文章主要对 Jav...

Java 集合(三)——Map 集合

2020-11-04
阅读 11 分钟
1.3k
<font face=黑体>集合按照其存储结构可以分为两大类,分别是单列集合 java.util.Collection 和双列集合 java.util.Map,单列集合我们已经讲了,今天我们来讲双列集合 Map。

Java 集合(二)——Set 集合、List 集合和 Collections 工具类

2020-10-31
阅读 14 分钟
3k
<font face=黑体>在 Java 集合(一)中我们已经讲了 Collection 集合接口、Iterator 迭代器和泛型,今天我们来讲 Set 集合、List 集合 和 Collections 工具类。

Java 集合(一)——Collection集合接口、Iterator 迭代器和泛型

2020-10-29
阅读 13 分钟
1.6k
<font face=黑体>因为明年三四月份想换工作,也为了对 Java 语言有更深的理解,所以想重新学一遍 Java,把以前没有注意到的细节再巩固一下,因为现在时间还是有的,所以我决定重新的过一遍 Java 的知识点(至少比粗暴的刷 Java 面试题好)。我这里准备的学习资料主要有十大章,我们来看一下每章的目录名称(用的 J...