自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

查理的博客

生命不息 代码不止

  • 博客(71)
  • 收藏
  • 关注

原创 课程学习--算法总结 图论算法(第4期)--最短路径--迪杰斯特拉(Dijkstra)Java描述

最短路径-迪杰斯特拉算法 Java描述

2022-06-23 14:31:54 210 1

原创 课程学习--设计模式 七大原则

设计模式 七大原则及其粗略解释

2022-04-29 09:55:51 155

原创 课程学习--算法总结 图论算法(第3期)--图的遍历

图的遍历 深度优先及广度优先之Java实现

2022-04-28 16:41:16 857

原创 课程学习--算法总结 图论算法(第2期)--图的存储

Java 之用邻接矩阵 邻接表存图

2022-04-27 17:47:51 159

原创 课程学习--算法总结:编程基础(第1期)--ACM模式基本输入输出

一、 基本定义import java.util.*;import java.io.*;/** * @className: Main * @description: ACM模式相关模板 * @author: Charlie * @create: 2022/4/25 10:56 */public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(Sys

2022-04-25 11:35:14 118

原创 课程学习--算法总结 图论算法(第1期)--理论基础

一、 图论图论 (Graph theory) 是数学的一个分支,图是图论的主要研究对象。图 (Graph) 是由若干给定的顶点及连接两顶点的边所构成的图形,这种图形通常用来描述某些事物之间的某种特定关系。顶点用于代表事物,连接两顶点的边则用于表示两个事物间具有这种关系。图的类型二、 常用类型有向图无向图有环图赋权图(如果这些权都是正实数,就称为正权图)其他类型混合图(即有向又无向)多重图(有平行边,两节点之间有两条边)线图(无平行边)简单图(线图并且是无环图)多重图(有自环或重

2022-04-20 10:38:03 752

原创 课程学习--设计模式 画图规范(第5期):状态图

状态图 画图规范

2022-04-13 15:00:01 4079

原创 课程学习--设计模式 画图规范(第4期):时序图

时序图 画图规范

2022-04-13 10:37:01 1588

原创 课程学习--设计模式 画图规范(第3期):流程图

流程图画图规范

2022-04-13 09:28:08 103

原创 课程学习--设计模式 画图规范(第1期):ER图

ER图概述

2022-04-12 22:04:41 2944

原创 课程学习--设计模式: 画图规范(第2期):UML图

UML图讲解-结合代码描述

2022-04-12 18:18:38 525

原创 课程学习--算法总结:数组专题(第3期)--滑动窗口

课程学习–算法总结:数组专题(第3期)–滑动窗口public int totalFruit(int[] fruits) { int left = 0; int right = 0; Counter counter = new Counter(); int res = Integer.MIN_VALUE; for (; right < fruits.length; right++) { // 滑动右窗 counter.add(f

2022-03-03 16:50:13 102

原创 课程学习--算法总结:数组专题(第2期)--双指针

课程学习–算法总结:数组专题(第2期)–双指针一、 快慢指针int fast = 0;int slow = 0;for (; fast < nums.length; fast++) { if (nums[fast] != val) { nums[slow] = nums[fast]; slow++; }}return slow;二、 左右指针int left = 0;int right = nums.length - 1;int

2022-03-03 15:59:02 106

原创 课程学习--算法总结:数组专题(第1期)—二分查找

课程学习–算法总结:数组专题(第1期)—二分查找一、 二分查找的前提有序,无重复二、 二分查找四要素mid赋值(取小二分)mid = left + ((right - left) >> 1);while条件左闭右闭(包含right)左闭右开(不包含right)right初始值左闭右闭:length-1,左闭右开:lengthright赋值左闭右闭:mid-1(才能跳出循环)左闭右开:mid返回值-1(没有找到)mid+1(差一步找到,但已跳出

2022-03-03 14:01:23 107

原创 课程学习--算法总结:时空复杂度(第2期)--常见排序算法的时空复杂度

常见排序算法的时空复杂度

2022-02-07 17:16:46 582

原创 课程学习--算法总结:时空复杂度(第1期)

时间复杂度和空间复杂度概述

2022-02-07 17:15:05 160

原创 课程学习--算法总结:时空复杂度(第1期)--时间复杂度和空间复杂度

时间复杂度和空间复杂度

2022-01-19 20:56:09 205

原创 课程学习--剑雅15--第2讲--Test2

SpeakingHow many languages can you speak?【Why / Why not?】Actually, I can only speak 2 languages. Obviously one is my mothertongue, the other is English. I can speak English fluently and thissecond language is good enough for me to communicate with fo

2021-12-29 21:18:50 613

原创 课程学习--算法总结:二叉树(第1期)--完全二叉树(为什么是2n+1?)

二叉树—完全二叉树子节点编号证明(为什么2n+1)一、 左子树求证:完全二叉树中任何一层的最左节点的编号为n,则其左子节点编号为2n+1,其右子节点编号为2n+2(编号从0开始)。证明:因为完全二叉树第n层的节点数:2^(n-1)所以第n层最左边的节点编号:2^(n-1)-1第n层最左边节点的左子树节点编号(即第n+1层最左边的节点编号):2^(n)-12*(2^(n-1)-1)+1 = 2^(n)-1所以完全二叉树中任何一层的最左节点的编号为n,则其左子节点编号为2n+1,其右子节

2021-11-17 14:36:43 833

原创 课程学习--算法总结:动态规划(第2期)--01背包

动态规划–01背包一、 问题描述有N件物品和⼀个最多能背重量为V 的背包。第i件物品的重量是v[i],得到的价值是w[i] 。每件物品只能⽤⼀次,求解将哪些物品装⼊背包⾥物品价值总和最⼤。二、 分析步骤这里我们利用Carl哥的动规五部曲。确定dp数组及其下标的含义i:第几个物品j:背包容量dp[i][j]:拿到第i个物品时,容量为j的背包内,物品价值总和的最大值。列举推导dp数组确定递推公式dp数组初始化初始化一般考虑dp[i][0]和dp[0][j]。如果背包容量j为0的话

2021-11-14 22:46:34 250

原创 课程学习--JavaSE--后端(第11期):Java8新特性--Stream

流(Stream)流是一种数据渠道,用于操作数据源(集合、数组等)所生成的元素序列。操作流的步骤创建从一个数据源中,获取流。中间操作对流进行处理终止操作生成结果创建流通过Collection接口提供的stream和parallelStream方法List<String> list = new ArrayList<>();Stream<String> stringStream = list.stream();Stream&lt

2021-07-12 10:48:28 58

原创 课程学习--JavaSE--后端(第9期):Java8新特性--Lambda表达式

Java8新特性–Lambda表达式Lambda表达式的本质就是一个匿名函数,利用Lambda表达式可以把函数作为参数传递进方法中。之所以将其命名为Lambda,是因为其原理涉及Lambda演算。基础语法lambda 表达式的语法格式如下:() -> /* 表达式 */ expression() -> { /* 语句 */ statements; }parameter -> expressionparameter -> { statements; }(paramet

2021-07-08 16:30:16 76

原创 课程学习--JavaSE--后端(第6期):线程

文章目录线程程序、进程及线程程序(program)进程(progress)线程(Thread)线程的种类用户线程守护线程操作系统中线程的状态Java线程的状态创建线程的基本方式线程的常用方法线程的优先级线程的同步同步与异步的概念实现同步的方法死锁Callable接口Future接口FutureTask实现类线程池ThreadPoolExecutor构造方法ExecutorService接口Executors工具类实例线程线程指的是进程中一个单一顺序的控制流。程序、进程及线程程序(program)

2021-06-24 18:09:34 73

原创 课程学习--JavaSE--后端(第5期):文件流

流流是一组有顺序的,有起点和终点的数据序列,是对数据传输的总称或抽象。文件和目录File,Java中操作文件和目录的类。构造方法File f = new File("D:\\hello.txt");在构造一个File对象时,即使传入的文件或目录不存在,代码也不会出错,因为构造一个File对象,并不会导致任何磁盘操作。只有当我们调用File对象的某些方法的时候,才真正进行磁盘操作。创建和删除文件File file = new File("/path/to/file");if (file.

2021-06-17 22:06:33 112

原创 课程学习--JavaSE--后端(第4期):容器

容器Java中常用的容器为数组和集合框架。数组一种用于存储同类数据的、固定容量的容器。声明//区别于C和C++,更纯粹dataType[] arrayRefVar;创建// 确定长度dataType[] arrayRefVar = new dataType[arraySize];// 确定初始值dataType[] arrayRefVar = {value0, value1, ..., valuek};长度int[] arr = new int[10];// 快递为数组/

2021-06-09 10:02:33 136

原创 课程学习--JavaSE--后端(第2期):面向对象

文章目录由来编程范式类与对象类成员变量构造方法成员方法对象经典实例的修饰符thissuper经典类、函数及变量的修饰符staticfinalclass文件封装继承访问权限修饰符重载(overload)重写/覆盖(override)多态抽象类和接口的区别枚举由来为了引入“面向对象”这个概念,本文决定首先阐述一下计算机编程语言(下文简写为编程语言)的发展历程。那么什么编程语言呢?有一句quote讲的很好。算法是程序的灵魂,编程语言是塑造该灵魂的工具。编程语言的发展,是随着计算机硬件的发展而发展的。硬件

2021-05-17 20:40:02 109

原创 课程学习--JavaSE--后端(第1期):Java快速入门

JavaJava是一门编程语言。历史前情提要,该部分主要描述Java从诞生到Java8正式发布期间,有关Java及中国软件行业的一些历史细节。1990年,Sun(Stanford University Network,斯坦福大学校园网)公司启动绿色计划。该计划旨在开发一种编程语言,用于控制电视机机顶盒的运作。于是詹姆斯·高斯林等人开始开发 Java 语言的雏形,并将其命名为 Oak(橡树)。结果市场没啥反响,该语言开始服务家用电器业务,辗转反侧,依然不景气,最终,跟着浪潮进入互联网领域。1992

2021-05-12 21:19:15 227 2

原创 课程学习--JavaSE--后端(第3期):异常处理

文章目录异常Throwable 类异常处理捕获异常抛出异常异常传播抛出处理面试题异常异常,即不正常的事或物。而在程序范畴中,异常是指使程序无法正常运行的错误或外部问题。Throwable 类在Java中,当程序无法正常运行时,通常是出现了错误或者异常。这时JVM会开始判断,如果是异常,则会创建相应的异常实例,然后抛出给调用者。如果是错误,则进行报错。这里提到了错误和异常,Java语言将他们定义为Error和Exception类,他们都继承自Throwable类,继承关系如下:这里列举一些

2021-05-03 11:43:49 73

原创 课程学习--SSM框架--第3讲--Mybatis

第3讲--Mybatis持久层框架Q&AMyBatis 与 Hibernate 有哪些不同?#{}和${}的区别是什么?用法 tips通常一个 Xml 映射文件,都会写一个 Dao 接口与之对应,请问,这个 Dao 接口的工作原理是什么?Dao 接口里的方法,参数不同时,方法能重载吗?持久层框架对象-关系映射(Object-Relational Mapping,简称ORM)Q&AMyBatis 与 Hibernate 有哪些不同?MyBatis 需要程序员自己编写 Sql 语句,

2020-09-02 13:54:04 145

原创 课程学习--网络--第1讲--socket

第1讲--socketclientserverclient#include <stdio.h>#include <errno.h>#include <string.h>#include <netdb.h>#include <sys/types.h>#include <netinet/in.h>#include <sys/socket.h>#include <stdlib.h>#include

2020-09-02 13:48:56 97

原创 课程学习--linux命令--第1讲--进程类

第1讲--进程类进程类进程类

2020-09-02 11:34:16 53

原创 课程学习--SSM框架--第2讲--SpringMVC

第2讲--SpringMVC乱码解决之道解决之道工作流程命名规则乱码POST解决之道GET解决之道工作流程命名规则

2020-09-02 10:44:00 70

原创 课程学习--SSM框架--第1讲--Spring

这里写目录标题SpringAOP底层实现核心代码为什么Java动态代理必须是接口Bean的作用域事务的传播行为SpringAOP底层实现Java动态代理(只能是接口)cglib 代理(实现类)核心代码为什么Java动态代理必须是接口因为已经继承了Proxy父类Bean的作用域事务的传播行为...

2020-09-02 10:04:00 140

原创 课程学习--JavaSE--第5讲--String

第5讲--String不可改变不可改变String对象不可修改指的是对象本身不可修改,而不是引用不可修改。String a = "你好";这行代码的意思是声明一个String类型的引用变量叫做a,在内存中创建一个String对象(值为"你好"),然后把这个对象的引用赋值给变量a。a = "hello";这行代码执行的效果是在内存中另外创建了一个String对象(值为"hello"),然后把这个新对象的引用赋值给变量a,而不是把原来的内存中的那个“你好”的String对象值变为“hello”。

2020-09-01 17:18:08 82

原创 课程学习--剑雅15--第1讲--Test1

SpeakingWhat kinds of emails do you receive about your work or studies?I will receive an email about the timetable for my classes every weekfrom the office. The specific time and classrooms need to be toldbefore I take the classes through emails as i

2020-08-29 10:44:26 1591

原创 课程学习--JavaSE--第4讲--Set

a

2020-08-24 11:25:17 74

原创 课程学习--JavaSE--第3讲--Map

a

2020-08-24 11:24:37 90

原创 课程学习--数据结构--第2讲--线性表

第2讲--线性表链表实现查找中间值约瑟夫环链表连接魔术师发牌拉丁方阵利用循环链表让26个字母转圈

2020-08-24 11:22:49 70

原创 课程学习--英语--第2讲--Life Is Beautiful

Everybody does what they want to.(各有所好)

2020-08-24 10:15:18 114

原创 课程学习--JavaSE--第2讲--List

第2讲--ArrayList构造方法工具size、empty、getsetaddremove构造方法// 对象数组private Object[] elementData;// 容量 private int size;// 无参public SxtArrayList() { // 初始化容量 this(10); }// 有参 public SxtArrayList(int initialCapacity) { if(initialCapacity<0) { try

2020-08-23 00:39:18 94

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除