自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 LeetCode刷题之树

Invert Binary Tree-Number226解题思路: 交换左右子树,将左子树和右子树看作“数”,那么该问题就跟交换两个数类似,只不过需要采用递归的方法来进行交换(非递归也可以)代码:/** * Definition for a binary tree node. * public class TreeNode { * int val; * ...

2020-03-09 22:39:02 186

原创 LeetCode刷题之队列

Design Circular Quene(设计一个循环队列)-Number622思路: 使用三个变量,head,tail,count表示队列的首元素位置,尾元素位置的下一位置,队列的个数。代码: class MyCircularQueue { private int[] nums; private int head = 0; pri...

2020-02-28 16:58:56 277

原创 LeetCode刷题之栈

Valid Parentheses(有效的括号)-Number20思路: 括号匹配题是栈的典型应用,因为只有三种类型的括号,我们将右括号作为键,左括号作为值,进行Hash存储,接着对括号表达式进行遍历,遇到左括号我们压入栈中,遇到右括号的时候,则判断该括号对应的左括号是否在栈顶,如果在,则弹出,匹配成功,接着遍历,直到遍历完表达式。否则返回false代码:class So...

2020-02-27 16:48:45 230

原创 LeetCode刷题之链表

Linked List Cycle(环形链表)-Number141思路: 利用快慢指针,快指针每次走两步,慢指针每次走一步,如果链表中存在环,那么快慢指针总会相遇代码: /** * Definition for singly-linked list. * class ListNode { * int val; * ListNode nex...

2020-02-26 21:57:25 203

原创 LeetCode刷题之数组

Three Sum(求三数之和)思路: 1:对数组进行排序 2:依次取出第i个数作为定值,并且不重复的选取,目的是为了将三数求和转化为两数求和 3:定义两个指针,左指针和右指针 4:将定值与左右指针指向的数相加,如果定值=左右指针,那么记录这三个数,如果大于定值,右指针向左移,小于定值,左指针向右移动代码: class Soluti...

2020-02-24 15:13:27 175

原创 pandas.read_csv分块读取大文件

最近,下载了一个csv结构的数据集,有1.2G。对该文件试图用pd.read_csv进行读取的时候,发现出现内存不足的情况,电脑内存不足,不能一次性的读取。此时我们就需要对csv文件进行分块读取。在对数据进行分块读取之前,我们需要对pd.read_csv()中的参数进行一定的了解,pandas.read_csv()官方文档。如果英文看不懂的可以去网上找一下别人翻译出来的。在官方文...

2019-03-20 09:26:36 4550

原创 KMP模式匹配算法

KMP模式匹配算法KMP算法可以说是一个很经典的模式匹配算法了,刚开始并没有看懂,多看几遍就好了。朴素模式匹配算法(KMP算法没提出来之前的常用的匹配算法)当我们在一篇文章中去搜索一个单词的时候,就是在文章中对这个单词进行定位操作。这种子串的定位操作通常称为串的模式匹配。是字符串中最重要的操作之一。模式匹配就是给定两个字符串O和F,长度分别为n和m,判断F是否在O中,如果出现则返回出现...

2018-11-29 17:14:50 8334 2

原创 决策树(二)--构造特征树和剪枝

前面记录了特征值的选取,现在我们就来说一下剪枝。决策树的剪枝在决策树创建时,由于数据中的噪声和离群点,许多分枝反映的是训练数据中的异常,剪枝方法处理这种过分拟合数据的问题。有常用的两种剪枝方法:先剪枝和后剪枝。    先剪枝:通过提前停止树的构建(例如,通过决定在给定的结点不再分裂或划分训练元组的子集)而对树"剪枝"。一旦停止,结点就成为树叶。    后剪枝:由"完全生长"的树...

2018-11-26 10:29:18 953

原创 决策树(一)--特征值选择

决策树是一种基本的分类和回归方法。用决策树分类,从根节点开始,对实例的某一特征进行测试,根据测试的结果,将实例分配到其子结点;这时,每一个子结点对应着该特征的一个取值,递归地对实例进行测试和分配,直至达到叶节点,最后将实例分到叶节点的类中。决策树学习通常包括3个步骤:特征选择,决策树的生成和决策树的剪枝。特征值选择 当训练元组纬度比较大时,我们在对其进行分类的时候,要考虑选择哪一个...

2018-11-20 11:40:20 5526

原创 python正则表达式

在这里推荐一个在线网站,输入正则表达式,可以看到正则表达式的图形解释https://regexper.com/正则表达式描述了一种字符串匹配的模式,可以用来检查一个串是否包含某种子串,将匹配的子串替换或者从某个串中取出符合条件的子串普通字符普通字符包括没有显式指定为元字符的所有可打印和不可打印字符。这包括所有大写和小写字母、所有数字、所有标点符号和一些其他符号。列如:colou?r...

2018-11-06 15:58:02 304

转载 梯度下降法

前些时间接触了机器学习,发现梯度下降法是机器学习里比较基础又比较重要的一个求最小值的算法。梯度下降算法过程如下:1)随机初始值;2)迭代,直至收敛。表示在处的负梯度方向,表示学习率。 在这里,简单谈一下自己对梯度下降法的理解。首先,要明确梯度是一个向量,是一个n元函数f关于n个变量的偏导数,比如三元函数f的梯度为(fx,fy,fz),二元函数f的梯度为(fx,fy),一元函数f...

2018-11-05 10:11:52 303

原创 聚类算法之层次聚类

层次聚类1.1 凝聚策略按照聚类算法使用的两种不同的策略,可以将聚类算法分为两类:1)层次或凝聚式算法这类算法一开始将每个点都看成簇。簇与簇之间按照接近度(closeness)来组合,接近度可以按照“接近”的不同含义采用不同的定义。当进一步的组合导致多个原因之下的非期望结果时,上述组合过程结束。比如停止条件为:达到预先给定的簇数目,或者使用簇的紧密度测度方法,一旦两个小簇组合之后得...

2018-10-21 10:19:30 1659

转载 全连接和半连接

博客转自:https://blog.csdn.net/tyh70537/article/details/76768802                 https://blog.csdn.net/tyh70537/article/details/75309042首先,我们先介绍要用到的图论知识图(Graph)是在聚类分析中有多种用途的一种数学结构。 图是由两个集合构成,顶点的集合用...

2018-10-15 15:45:58 5421

原创 聚类算法之k-均值,k-中心点

k-means和k-中心点算法是属于简单的迭代型聚类算法,它将一个给定的数据集分为用户指定的k个聚簇。实现和运行该算法都很简单,它的速度比较快,同时又易于修改,所以在实际应用中使用非常广泛。K-means算法k-means算法是硬聚类算法,是典型的基于原型的目标函数聚类算法的代表。它是数据点到原型的某种距离作为相似性的评价指标,即两个对象的距离越接近,其相似度就越大。算法采用误差平方和准侧...

2018-10-11 19:23:19 15292

转载 线性代数知识

博客转自https://blog.csdn.net/myarrow/article/details/533650481.  线性代数知识图谱线性代数是代数学的一个分支,主要处理线性关系问题。线性关系意即数学对象之间的关系是以一次形式来表达的。例如,在解析几何里,平面上直线的方程是二元一次方程;空间平面的方程是三元一次方程,而空间直线视为两个平面相交,由两个三元一次方程所组成的方程组来表示。...

2018-10-07 17:05:28 1140

原创 数据挖掘聚类算法概述(有待完善)

1:聚类概念聚类是一个把数据对象划分为多个簇或者多个组的过程,使得一个簇内的对象具有很高的相似性,但与其他簇内的对象不相似。聚类算法属于无监督学习2:聚类分析概念 聚类分析是一个把数据对象划分为子集的过程,每个子集是一个簇,使得簇中的对象彼此相似,但与其他簇中的对象不相似,由聚类分析产生簇的集合叫做聚类。至关重要的区别是,聚类可以自动地发现这些分组是聚类分析的突出优点。3:应用场景...

2018-09-26 17:06:18 2486 1

原创 关联分析(Apriori,FP-growth)

关联分析是数据挖掘中的重要组成部分,旨在挖掘数据中的频繁模式。我们可以通过一个案例数据库挖掘著名案例来大致了解挖掘频繁项集并产生关联规则。关联分析的基本概念关联分析:在大规模数据集中寻找有趣的关系频繁项集:经常出现在一起的物品集合,即包含0个或者多个项的集合关联规则:暗示两个物品之间可能存在很强的关系,形如A->B的表达式,规则A->B的度量包括支持度和置信度支持度...

2018-09-21 21:14:23 2062

转载 频繁项集,频繁闭项集,最大频繁项集

转自:https://blog.csdn.net/u013007900/article/details/54743395Frequent Itemset(频繁项集)称I={i1,i2,...,im}为项(Item)的集合,D={T1,T2,...,Tn},i∈[1,n]为事务数据集(Transaction Data Itemsets),事务Ti由I中若干项组成。设S为由项组成的一个集合...

2018-09-14 18:52:53 21090 8

转载 数据挖掘概念与分析第九章笔记

原博主博客:https://blog.csdn.net/u014593570/article/details/75987793本章学习数据分类的高级技术贝叶斯信念网络书上写的比较笼统,初学者可能会看的倒懂不懂的。因此,可以看看我在本章列出的参考文章。 1.1摘要 在上一篇文章中我们讨论了朴素贝叶斯分类。朴素贝叶斯分类有一个限制条件,就是特征属性必须有条件独立或基本独立(实际上在现实应...

2018-09-01 09:24:03 2549

转载 ROM,RAM,内存,硬盘之间的差别

内存在电脑中起着举足轻重的作用。内存一般采用半导体存储单元,包括随机存储器(RAM),只读存储器(ROM),以及高速缓存(CACHE)。只不过因为RAM是其中最重要的存储器,所以通常所说的内存即指电脑系统中的RAM。    RAM要求每时每刻都不断地供电,否则数据会丢失。如果在关闭电源以后RAM中的数据也不丢失就好了,这样就可以在每一次开机时都保证电脑处于上一次关机的状态,而不必每次都重新启动...

2018-07-25 10:32:28 1062

转载 计算机系统通用的字符编码

字符编码    由于计算机是美国人发明的,因此,最早只有127个字符被编码到计算机中,也就是大小写英文字母以及一些符号,这个编码表被称为ASCLL编码。但是,要处理中文显然一个字节是不够的,至少需要两个字节,而且还不能和ASCLL码冲突,所以中国制定了GB2312编码,用来把中文编进去。    中国有自己的一套编码方式,其他国家相应的也有自己的编码方式,所以Unicode应运而生,Unic...

2018-07-17 14:10:29 2350

原创 Json in Java

1.什么是json?    json是一种与开发语言无关,轻量级的数据格式。全称JavaScript Object Notation2.数据结构--Object    使用花括号{}包含的键值对结构,key必须是String类型,value为任何基本类型或数据结构3.数据结构--Array    使用中括号[]来起始,并用逗号来分割元素.4.JSON数据的演示:{ "name":"zhangsa...

2018-04-15 18:41:16 267

原创 Java IO流(三)

接上一篇6:字符流,要明白以下问题:    1):编码问题    2):认识文本和文本文件。java的文本(char)是16位无符号整数,是字符的Unicode编码(双字节编码),文件是byte byte byte..的数据序列。文本文件是文本序列按照某种编码方法序列化为byte的存储的结果    3):字符流(Reader ,Writer),字符的处理,一次处理一个字符,字符的底层任然是基本的字...

2018-04-14 11:52:58 151

原创 Java IO流(二)

主要从以下来说:    编码问题    File类的使用    RandomAccessFile    字节流    字符流    对象的序列化和反序列化接着上一篇    5:字节流        1):有两个父类:InputStream,OutputStream            InputStream抽象了应用程序读取数据的方法,outputStream抽象了应用程序写出数据的方式    ...

2018-04-07 19:10:41 128

原创 Java IO流(一)

主要从以下来说:    编码问题    File类的使用    RandomAccessFile    字节流    字符流    对象的序列化和反序列化1:字节编码public class EncodDemo { public static void main(String[] args) throws Exception{ String s="javaIO流"; ...

2018-04-06 20:01:53 104

原创 JSP状态管理

一:Http协议的无状态性    无状态是指,当浏览器发送请求给服务器的时候,服务器响应客户端的请求。但是当同一个浏览器再次发送请求给服务器的时候,服务器并不知道它就是刚才那个浏览器二:保存用户状态的两大机制    Session和Cookie三:什么是Cookie?    Cookie:是web服务器保存在客户端的一系列文本信息    Cookie的作用:      ...

2018-04-03 17:00:33 162

原创 JSP之javaBean入门

一:Javabean就是一个类,但是遵循特定的设计原则    1):是公有类     2):属性私有   3):无参的公有构造函数    4):getter和setter方法二:什么是jsp动作元素    动作元素为请求处理阶段提供信息。动作元素遵循XML元素的语法,有一个包含元素名的开始标签,可以有属性,可选的内容,与开始元素配置的结束标签。    第一类是与存取Javabean...

2018-04-03 11:32:02 226

原创 Jsp的九大内置对象

1:什么是内置对象?    JSP内置对象是Web容器创建的一组对象,不使用new关键字就可以使用的内置对象2:九大内置对象有哪些?    常用的有:out对象,request对象,response对象,application对象,session对象    不常用的有:Page对象,pageContext对象,exception对象,Config对象3:out对象    首...

2018-03-31 15:17:19 195

原创 Java反射的应用

一:Class类的使用    在面向对象的世界里,世间万物皆对象。类也是对象,类是java.lang.Class类的实例对象    任何一个类都是Class类的实例对象,这个对象称为该类的类类型。这个实例对象有三种表达方式public class Demo1 { public static void main(String[] args) { //Reflect的对象 Ref...

2018-03-26 11:24:47 190

原创 Java的注解

一:什么是注解    Annotation(注解)就是java提供了一种元程序中元素关联任何信息和任何元数据的途径和方法。注解是一个接口,程序可以通过反射来获取注解中的元数据。二:注解有什么用?    1:生成文档,这也是java最早提供的注解。    2:跟踪代码的依赖性,实现替代配置文件功能。    3:在编译时进行格式检查,如@Override放在方法前,如果你这个方法并不是覆盖了超类方法,...

2018-03-25 11:05:53 157

原创 Git工具的使用

一:Git的下载和安装    下载:官网下载    安装: 把文件夹放到盘里面去,最好不要放在c盘    二:注册GitHub     注册链接三:创建一个本地springboot+JDB仓库   1:打开git-bash.exe   2:在命令行中输入 mkdir springboot+jdbc,创建一个新的文件夹   3:输入cd  springboot+jdbc,这时候你会发现git目录下有...

2018-03-24 17:44:11 297

原创 controller,service,dao,mapper,model层的作用

这几天在学习springboot+mybatis框架,对于上面的几个文件夹中应该存放什么类,这些类有什么功能,还是有些迷糊。通过网上资料现在大致已经了解了。记下来以后有了新的理解再加上去  首先来说一下业务逻辑:        Controller-->service接口-->serviceImpl-->dao接口-->daoImpl-->mapper-->db...

2018-03-24 13:47:04 16145 1

原创 SpringBoot 基于JDBC的数据库连接和使用

一:更改Pom文件,配置maven依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId></dependency><dependency>

2018-03-20 22:09:14 1397

原创 Spring Boot常用注解整合

一:Controller类注解    1:@Controller:处理http请求。如果不加这个注解,浏览器是访问不到的                   会出现500错误,必须要配置模板来使用。    2:@RestController:Spring4之后新加的注解,原来返回json需要@ResponseBody配合@Controller.告诉springboot以字符串的形式渲染结果,并直接...

2018-03-20 12:47:34 347

原创 Spring Boot Configuration Annotation Processor not found in classpath

第一次使用@ConfigurationProperties注解的时候会出现下面这个提示 我们点击上面的提示,会出来一个网站,上面是官方解决方案。    这上面的意思就是说我们要在Pom文件中加上spring-boot-configuration-processor这个依赖。我们手动把这几行代码加入到Pom.yml包中       出现红色那就是肯定就有错误。鼠标移到红色的地方,提示你检查自己的ma...

2018-03-20 10:47:47 579

原创 JAVA之多态

java三大特性之多态一:概念    对象的多种形态。二:分类    1:引用多态:父类的引用可以指向本类的对象,父类的引用可以指向子类的对象    //父类public class Animal{}//子类public class Dog extends Animal{}//测试类 public static void main(String[] args) { Animal ob...

2018-03-18 15:27:10 152

原创 JAVA之继承

JAVA三大特性之继承一:概念    继承是类与类之间的关系,并且在java中,一个类只有一个父类,也就是单继承的关系。二:好处/优点    1):子类拥有父类的所有属性和方法(private修饰的无效)        2):可以实现代码的复用三:语法规则    class 子类 extends 父类{....}public class Animal { //父类Animal public ...

2018-03-17 16:19:10 197

原创 JAVA之封装

java有三大特性:封装,继承,多态。我们首先来讲封装,那么什么是封装呢?一:概念     将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。二:为什么要用封装     a:只能通过规定的方法访问数据     b:隐藏类的实例细节,方便修改和实现。三:封装的实现步骤      1:修改属性的可见性 -->设为private      2:...

2018-03-16 17:31:34 266 1

原创 JAVA之类和对象

一:对象的概念:    我们都说万物皆对象,客观存在的事物都是对象。二:什么是面向对象?     把数据及对数据的操作方法放在一起,作为一个相互依存的整体——对象。对同类对象抽象出其共性,形成类。类中的大多数数据,只能用本类的方法进行处理。类通过一个简单的外部接口与外界发生关系,对象与对象之间通过消息进行通信。程序流程由用户在使用中决定。 既然在这里提到了类,那么类究竟是什么呢?接下来我们就来...

2018-03-16 15:58:34 211

原创 java入门

java是一门静态面向对象的编程语言,学习java就是主要学习java的面向对象思想和它的庞大类库。开发前的准备:    一:java编译过程:在这张图中,可以用一个例子来形象说明java源文件到最后运行的过程。把鱼比作源文件,编译器比作刀,鱼经过被刀开膛破肚之后就成了半成品,此时这个半成品就是字节码文件。杀好的鱼要经过烹饪才能吃,此时,解释器就相当于灶具,最后能运行的程序就是烹饪好的鱼。这样解释...

2018-03-15 10:14:19 181

空空如也

空空如也

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

TA关注的人

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