自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(59)
  • 收藏
  • 关注

原创 线性方程组和向量

2021-09-06 21:57:45 312

原创 Springboot+thymeleaf+mysql+shiro心路历程

背景介绍在做项目之前前后端一窍不通,只做过一个十分简陋的微信小程序。任务是做一个可以动态网站并提供方便修改的接口(后台页面操控数据库)。心路历程1.第一周:查了一下做网站前后端都需要什么技术。因为什么都不懂,从javaweb 到springmvc 再到springboot.本来想从最原始的技术开始学习,但是任务量太庞杂了,只有一个月的时间,就直接把目标瞄准到springboot项目上。2.第二周:在b站上搜了一通视频之后,最后决定看狂神的javaweb视频,二十多个小时加速看完后(实在不懂就跳)。说

2021-09-01 16:43:24 203

原创 线性代数 矩阵

关于矩阵是否可以交换

2021-08-31 23:15:08 182

原创 向量代数与空间几何

2021-06-24 15:53:13 205

原创 微分方程哈

2021-06-21 11:15:23 108

原创 定积分与不定积分

倒代换:变上限函数:对称区间的定积分:啊吧啊吧:定积分的应用:

2021-06-05 16:25:39 219

原创 导数与微分

莱布尼茨公式:注意正负号:阿巴阿巴计算:洛必达法则与凑导数:某点的导数,以及趋于该点导函数的极限值的关系(通过洛必达法则)绝对值函数的导数:极限式表示的函数可导性:导数、微分与增量的关系:导数与幂级数(以及反函数求导):阿巴阿巴:拐点的条件:(类比极值)渐近线求法:曲率:带有拉格朗日余项的泰勒公式:证明数列收敛:费马引理:罗尔中值定理:因子法和柯西中值定理:运用两次罗尔定理:导函数与原函数的性质:拉格朗日中值定理.

2021-06-02 19:24:12 244

原创 第一章函数的极限

有界无界的讨论:等价无穷小与佩亚诺余项:洛必达法则成立条件:佩亚诺余项:要学会观察:n项和或n项因式积的数列的极限:以递推形式给出数列的极限:以极限形式定义的函数表达式:复合函数的极限:...

2021-05-30 20:38:14 166

原创 栈与队列的深入讨论

1.中缀表达式转换成后缀表达式在高级程序设计语言的编译软件里,就是用类似的转换算法对算数公式进行转换,最终将其转换成计算机可以直接执行的机器指令序列。设计思路:关键在于如何恰当地去掉中缀表达式的括号,在必要时按运算符的优先级调换运算符的次序。用栈存放表达式中的开括号和暂时不能确定次序的运算符。实现:做两道题试试2.递归函数的实现大多数程序设计语言运行环境所提供的函数调用机制是底层的编译栈支持的。运行时环境值得是目标计算机用来管理存储器并保存执行过程所需信息额寄存器及存储器的结构。静态分

2021-05-12 16:43:48 241 1

原创 栈和队列

他们均是线性表的应用和推广。1.栈==定义:==只允许在一端进行插入或删除操作的线性表。栈顶是允许进行插入删除的那一端。栈底是固定的。具有后进先出的特点。(研究数据结构的注意点:逻辑结构、存储结构和对数据的运算)栈的数学性质: n个元素进栈,出栈排列顺序为C2n n/(n+1)。栈的顺序结构:维护一个数组和栈顶指针。进栈:指针+1,进栈。出栈:出栈,指针-1栈空:top=-1不同的栈顶指针设置方式,操作会有所不同。顺序栈之共享栈:利用栈底位置相对不变的特性,可以让两个顺序栈共享一个.

2021-05-08 16:16:29 992

原创 线性表的链式表示及顺序存储

我们还记得存储结构里不仅需要存储元素,还需要存储元素与元素的关系。顺序表靠着其天然的物理结构自然表达出这种关系,不需要附加额外的信息去表示这种关系,简直赚透了。而像链式存储这样非顺序存储的结构,需要额外附加指针去表示这种关系。1.单链表的定义:处存放元素本身信息外,还需要存放一个指向后继的指针。头指针:头指针来标识一个单链表,其为NULL时表示一个空表。为了操作上的方便,可以在单链表第一个节点前附加一个节点,称为头节点,并把第一个节点的位置信息存放在头节点里。除此之外,头节点可以不设置任何信息,也可以

2021-05-06 14:39:25 341

原创 第二章课后习题(1)

3.记录线性表中不为x的个数k,初始值为0.没检测到一个不为x的值,就开始赋值,并使k+1.最后使(打破一般的删除模式),最后整个数组的长度便是k。4.如果是有序表,不需移动所有元素,找到第一个范围内的元素和范围内的最后一个元素的后继,然后进行移动操作。最后整个数组的长度便是i。5.如果不是有序表,则采用和3类似的方法。可以换种思路,一边记录在范围内的个数,一边对不在范围内的元素进行移动。6.由于题目条件是有序表,所以重复元素的物理位置肯定连续。所以设置i,j,判断前后元素是否相同,来赋值.

2021-04-28 14:07:26 99

原创 2021-04-22

1.浏览器战争2.HTML和CSS分离3.工业级强度HTML4.所见即所得(What you see is what you get)5.dreamweaver

2021-04-22 23:56:27 86

原创 junit异常测试和套件测试

异常测试:@Test(expected = ArithmeticException.class)套件测试:(CarTest.class, RectangleTest.class)@RunWith(Suite.class)@Suite.SuiteClasses({CarTest.class, RectangleTest.class })public class AllTests {}

2021-04-15 16:08:28 134

原创 junit参数化测试

用 @RunWith(Parameterized.class) 来注释 test 类。创建一个由 @Parameters 注释的公共的静态方法,它返回一个对象的集合(数组)来作为测试数据集合。创建一个公共的构造函数,它接受和一行测试数据相等同的东西。为每一列测试数据创建一个实例变量。用实例变量作为测试数据的来源来创建你的测试用例。注意@RunWith注解:当类被@RunWith注解修饰,或者类继承了一个被该注解修饰的类,JUnit将会使用这个注解所指明的运行器(runner)来运行测试。@Pa

2021-04-14 18:30:11 1088

原创 junit

Junit编写原则1、简化测试的编写,这种简化包括测试框架的学习和实际测试单元的编写。2、测试单元保持持久性。3、利用既有的测试来编写相关的测试。Junit特征1、使用断言方法判断期望值和实际值差异,返回Boolean值。2、测试驱动设备使用共同的初始化变量或者实例。3、测试包结构便于组织和集成运行。4、支持图形交互模式和文本交互模式。Junit框架的组成1、测试用例(TestCase):对测试目标进行测试的方法与过程的集合2、测试包(TestSuite):测试用例的集合,可容纳多个测

2021-04-14 17:09:37 161

原创 文件与目录的权限

1.用户组、用户与其它人2.系统账号、身份用户和root。/etc/passwd个人密码 /etc/shadow组名 /etc/group3.文件名以.开头的文件为隐藏文件。链接文件数目,指有多少个文件名链接到此inode号码。对于目录来说,权限不可执行即不可打开。文件的权限windows下的文件的执行能力是由扩展名决定的,而linux下是借助x这个权限决定的。w权限并不具备删除该文件的能力,只能对该文件的内容进行操作。目录的权限:...

2021-04-13 23:32:57 271

转载 2021-04-12

https://leetcode-cn.com/problems/binary-search/solution/er-fen-cha-zhao-xiang-jie-by-labuladong/我周围的人几乎都认为二分查找很简单,但事实真的如此吗?二分查找真的很简单吗?并不简单。看看 Knuth 大佬(发明 KMP 算法的那位)怎么说的:Although the basic idea of binary search is comparatively straightforward, the detail

2021-04-12 14:11:20 84

原创 2021-04-08

实现版本回退:git reset实现版本回退当将有错误的文件add进暂存区后,可以使用git reset丢弃修改。即:  git reset HEAD 文件名但此时修改仍旧保留在工作区。如果尚未add进暂存区,则可以使用:  git reset --hard HEAD这样就能彻底丢弃修改,即将修改从暂存区及工作区彻底删除。#####git checkout丢弃修改当将错误的文件add进暂存区后,使用git checkout无法将修改从暂存区中撤销,必须要先使用git reset将修改从暂存

2021-04-08 17:13:23 273

原创 2021-04-08

至少数据结构对于现在的、今天的我是反胃的。理论上的东西并没让我厌恶,对于实践我会莫名其妙的抵触,这也是为什么一直以来学习那么low的原因之一。可是谁又不想仰望星空呢,有时候那星光真能麻痹自己忘记了周围的环境以及现在的自己。已经是大三下的考研人了,是该磨磨自己的懒惰了。以后我会每天坚持做笔记并且每天复习,将思路在脑子里过一遍。希望不久的将来,就会看到努力的硕果。...

2021-04-08 15:01:11 99

原创 2021-04-07

git clone +远程仓库地址。 将远程仓库拷贝到本地git remote add origin +远程仓库地址。在本地建立一个远程仓库,并将其命名为origin。git push 远程仓库名 本地分支 远程分支 推送内容至远程仓库(±u: 建立本地分支与远程分支的联系,下次使用可以忽略远程分支)git pull 远程仓库名 远程分支 本地分支 将远程仓库的内容合并到本地,如果远程仓库的修改和本地的修改有冲突,可以选择解决冲突,然后合并,也可以用-f参数强制拉取,将远程仓库的内容强行覆盖本

2021-04-07 16:48:03 141

转载 malloc、alloc和realloc函数的区别

在程序的执行期间分配内存时,内存区域中的这个空间称为堆(heap)。还有另一个内存区域,称为栈(stack),其中的空间分配给函数的参数和本地变量。在执行完该函数后,存储参数和本地变量的内存空间就会释放。堆中的内存是由程序员控制的。在分配堆上的内存时,由程序员跟踪所分配的内存何时不再需要,并释放这些空间,以便于以后重用它们。 使用动态内存很明显的好处就是:不需要预先分配存储空间且分配的空间可以根据程序的需要扩大或缩小,这样可以有效的使用内存空间。malloc和free C函数库中的malloc和fr

2021-04-07 14:21:17 694

原创 什么是一个完整的数据结构,算法的概念以及算法的分析

数据结构的概念数据结构由三部分组成:逻辑结构、存储结构和数据的运算。逻辑结构主要描述数据之间的关系,一对一or一对多or 多对多(线性表、树、图)。存储结构就是逻辑结构在计算机中的实现,包括元素的表示和关系的表示存储结构主要有四种:顺序存储、链式存储、索引存储和散列存储。顺序存储的的评价:可以进行随机存取,每个元素占用最少的存储空间。但是由于其是顺序存储,会产生相应的外碎片,会出现空间利用效率的问题。除此之外,当进行增删操作时,开销较大。链式存储的评价:用到相应的指针去表示元素之间的关系,逻

2021-04-01 15:41:53 1231

转载 utf-8与utf-8 without BOM

UTF-8编码的文件可以分为without BOM和BOM两种格式。何谓BOM? " EF BB BF" 这三个字节就叫BOM,BOM的全称叫做" Byte Order Mark". 在UTF-8文件中常用BOM来表明这个文件是UTF-8文件, 而BOM的本意是在UTF-16中用来表示高低字节序列的。在字节流之前有BOM表示采用低字节序列(低字节在前面),而UTF-8不用考虑字节序列,所以其实有无BOM都可以。UTF-8以字节为编码单元,没有字节序的问题。UTF-16以两个字节为编码单元,在解释一个UTF

2021-03-21 16:14:16 558

原创 指针中*的位置

首先*无论写在数据类型后,还是写在变量名的前面,编译器都不会报错。这只是个习惯问题。C语言程序猿习惯将*放在变量前,而C++程序员习惯把*放在数据类型后。个人更喜欢后者,因为这里的指针更多的决定着数据类型,因为是指针型变量。...

2021-03-10 22:27:13 1461

转载 linux0号进程和1号进程

1、0号进程与1号进程Linux中PID为0的进程是所有其他进程的祖先, 也称作idle进程或swapper进程,在系统初始化时由kernel自身从无到有创建。进程0的数据成员大部分是静态定义的,即由预先定义好的INIT_TASK, INIT_MM等宏初始化。进程0的描述符init_task定义在arch/arm/kernel/init_task.c中,由INIT_TASK宏初始化。 init_mm等结构体定义在include/linux/init_task.h内,为init_task成员的初始值,分别由

2021-03-03 20:41:51 568 2

原创 如何理解软件即服务

2021-03-01 09:21:15 1224

原创 C语言为什么输出double类型数据时还是精确到小数点后六位?

float类型精确到小数点后6~7位double类型精确到小数点后15~16位这是没错的但是呢编译器默认精确到小数点后六位输出所以只需要控制占位.mf中m的大小就好了超过7位当然float就不适合了。当然,如果不考虑内存的话,最好浮点数用double类型要好一点。当数值大到一定程度,就会有差别了。------关于double、float的一首诗...

2021-02-20 13:27:16 5206 5

原创 scanf对空格的读取

只有%c能读取到空格字符,其他占位符豆浆空格作为结束判断标志。%d以空格作为结束标志,%c读到空格字符,%s以第二个空格字符作为结束标志。

2021-02-20 00:26:32 5455

原创 复合赋值运算符可以加快编译速度

2021-02-20 00:19:02 224

原创 define定义函数的缺点

首先上一组截图:小伙伴们是不是在纳闷为什么结果是4不是5.define定义函数并不智能,它仅仅是原封不动地将a+1去替换定义函数里的X位置,所以就变成了a+1*2+1,由于运算符级别不同,结果自然变成了4,是不是很憨批。如果实在想用define定义函数,一定要仔细,可以多加括号来避免这种问题。在X两侧加括号之后结果正确。...

2021-02-20 00:17:57 319

原创 表示浮点数尽量用double

一组截图表明原因:

2021-02-20 00:10:51 179

原创 2021.2.19

1.stdio: standard input output2.C++标准更推荐#include。3.对于float,一个浮点数占32bit,1bit作为符号位,有效精度6~7位4.对于double类型,有效精度15~16位。5.整型分为short,int,long long(16,32,64)int又叫long int,long long 又叫long long int。6.unsigned int 和int的位数相同,负数的范围挪到了正数7.遇到浮点数尽量使用double类型.8.小写字母

2021-02-20 00:09:08 106

转载 define和const的区别

这个区别用从几个角度来说:角度1: 就定义常量说的话: const 定义的常数是变量 也带类型, #define 定义的只是个常数 不带类型。角度2: 就起作用的阶段而言: define是在编译的预处理阶段起作用,而const是在 编译、运行的时候起作用。角度3: 就起作用的方式而言: define只是简单的字符串替换,没有类型检查。而const有对应的数据类型,是要进行判断的,可以避免一些低级的错误。 正因为define只是简单的字符串替换会导致边界效应,具体举例可以参考下面代码:#define

2021-02-19 23:51:48 2189

原创 逻辑思维与计算思维

逻辑思维正如字面意思,通过我们大脑的逻辑思考去得出解决问题的本质。计算思维是基于计算机强大的算力及海量数据,关注设计和构造,编程将这种思维变成现实。举个例子:计算1+2+3+4+5+…+n逻辑思维:经过逻辑思考后得出合理的公式:n*(n+1)/2计算思维:通过计算机构造和模拟这个过程(for循环,累加),通过计算机的算力解决这个问题。可以用两个词来概括:抽象+自动化。...

2021-02-18 16:29:48 2051

原创 理解文本文件

文本文件:由单一特定编码组成的文件,如UTF-8。计算机只能识别0和1,任何文件都是靠0和1存储的。我们在书写txt文件的时候,会选择一种编码方式将我们输入的字符按照这种方式转换成0和1存储。在读文本文件时,只有选择正确的编码方式才能正确解析。就好像在某些国家竖大拇指时赞扬,而在有些国家是不礼貌的行为一样。在选择打开文件的时候,我们可以以文本形式打开(大家可以看懂),也可以以二进制形式打开(普通人不能看懂)...

2021-02-18 16:21:19 551

原创 python爬虫遵守规则

python爬虫遵守规则按照爬虫规模分类爬虫可能会带来的问题一般网站对爬虫的限制以及如何遵守按照爬虫规模分类注意:针对爬取全网,python不提供第三方库。爬虫可能会带来的问题1.骚扰问题2.法律问题3.隐私泄露问题受限于编写水平和目的,网络爬虫可能会给web服务器带来巨大的资源开销。一般网站对爬虫的限制以及如何遵守来源审查:这种方法需要维护人员技术上的支持。Robots协议:不是强制性要求,违反可能会承担法律责任。通过上述语法对不同代理,制定不同规范。比如查看百度:

2021-02-17 11:58:12 314 1

原创 python爬虫初认识requests库中的Request对象和Response对象

首先分析一段简短十分初级的爬虫代码>>>import requests>>>r=requests.get("http://www.baidu.com")>>>print(r.status_code)200>>>type(r)<class 'requests.models.Response'>当import requests库时会在内部生成Request对象,此类的方法如下:get方法通过url参数返回一个

2021-02-16 21:35:00 1658

转载 one-hot编码问题

一、什么是one-hot编码?One-Hot编码,又称为一位有效编码,主要是采用N位状态寄存器来对N个状态进行编码,每个状态都由他独立的寄存器位,并且在任意时候只有一位有效。One-Hot编码是分类变量作为二进制向量的表示。这首先要求将分类值映射到整数值。然后,每个整数值被表示为二进制向量,除了整数的索引之外,它都是零值,它被标记为1。二、one-hot编码过程详解比如我们要对 “hello world” 进行one-hot编码,怎么做呢?1.确定要编码的对象–hello world,2.确定分

2021-02-15 15:59:23 578

原创 python中局部变量和全局变量

函数内建立的变量叫局部变量。正常情况下函数内的变量名即使和函数外的变量名一样,它们的实质也不一样。但是如果用global变量在函数内声明之后,函数外的变量便可在函数内进行操作。注意:还有一个值得注意的。如果函数内的变量是组合数据类型,而且其并未在函数内部创建,它等同于全局变量。...

2021-02-14 20:45:43 127

空空如也

空空如也

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

TA关注的人

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