- 博客(45)
- 收藏
- 关注
原创 Java封装
1、封装(1)概述面向对象的三大特征:封装、继承和多态。封装是面向对象编程语言对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界是无法直接操作的。(2)原则将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问成员变量为private,提供对应的getXxx()/setXxx()方法。(3)优点通过方法来控制成员变量的操作,提高了代码的安全性把代码用方法进行封装,提高了代码的复用性2、构造方法(1)构造方法是一种特殊的
2020-12-02 10:21:35
213
原创 Java方法、对象、类及Debug调试
1、方法(1)方法的定义和调用方法是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集定义格式:public static void 方法名() { //方法体}调用格式:方法名();(2)带参数方法的定义和调用public static void 方法名(参数){ …… }注意:方法定义时,参数中的数据类型和变量名都不能缺少,缺少任意一个程序将报错(多个参数之间用逗号分隔)(3)方法重载方法重载指同一个类中定义的多个方法之间的关系,满足下列条件:多个方法在
2020-11-30 20:30:16
707
原创 IDEA简介
1、IDEA中HelloWorld步骤(1)创建一个空项目(JavaSE_Code)(2)创建一个新模块(idea_test)(3)在idea_test模块下的src下创建一个包(com.it)(4)在com.it包下新建一个类(HelloWorld)(5)在HelloWorld类中编写代码(6)在idea中执行程序2、IDEA中的项目结构3、IDEA中内容辅助键和快捷键(1)快速生成语句:快速生成main()方法——psvm,回车快速生成输出语句——sout,回车(2)内容辅助键
2020-11-25 21:42:26
984
原创 Java基本语法
1、数据输入Scanner的基本使用步骤(1)导包import java.util.Scanner(2)创建对象Scanner sc = new Scanner(System.in);(3)输入数据int i = sc.nextInt();2、分支语句(1) if……else结构if(关系表达式){ 语句体1;}else{ 语句体2;}(2)if……else if结构if(关系表达式1){ 语句体1;}else if(关系表达式2){ 语句体2;}……el
2020-11-25 20:46:55
99
原创 【LeetCode】链表——旋转链表
链接:https://leetcode-cn.com/explore/learn/card/linked-list/197/conclusion/767/思路:将链表做了k次循环,每次将表尾移动到表头生成新链表,但是要考虑到k值大于表长len时,有k轮的循环是无意义的,因此循环次数应为k%len。/** * Definition for singly-linked list. * str...
2020-02-24 13:55:18
227
原创 【LeetCode】链表——复制带随机指针的链表
链接:https://leetcode-cn.com/explore/learn/card/linked-list/197/conclusion/766/思路:先遍历一次原链表,将其拷贝下来(注意拷贝时要新建节点);二次遍历时,添加random索引,刚开始我将原链表中的random值直接赋给拷贝后的链表,后来发现问题所在,要在新拷贝的链表中添加索引,需要参照原链表的相对位置,因此添加了一个f...
2020-02-24 13:36:12
138
原创 【LeetCode】链表——扁平化多级双向链表
链接:https://leetcode-cn.com/explore/learn/card/linked-list/197/conclusion/764/思路:顺着child结点链接链表前部分,将child后面的部分按顺序链起来,遍历完原链表之后,再将两部分整合。代码:/*// Definition for a Node.class Node {public: int val...
2020-02-23 14:51:46
193
原创 【LeetCode】链表——小结、合并两个有序链表、两数相加
合并两个有序链表/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: L...
2020-02-23 14:37:39
320
原创 【LeetCode】双链表——设计链表
链接:https://leetcode-cn.com/explore/learn/card/linked-list/196/doubly-linked-list/759/代码:class MyLinkedList {struct ListNode{ int val; ListNode *prev,*next; ListNode(int val):val(val),p...
2020-02-22 18:20:41
502
原创 【LeetCode】链表——回文链表
链接:https://leetcode-cn.com/explore/learn/card/linked-list/195/classic-problems/754/回文链表是指正序和逆序均相同的链表。思路:使用快慢指针将链表一分为二,找到链表的中间节点后,将链表的后半部分进行反转,比较反转后的链表是否与前半部分相同,相同则为回文链表。代码:/** * Definition for s...
2020-02-22 16:17:17
487
原创 【LeetCode】链表——奇偶链表
链接:https://leetcode-cn.com/explore/learn/card/linked-list/195/classic-problems/753/思路:分别链接奇偶链表,注意在奇偶链表结束时要加空指针,最后将奇链表的尾链到偶链表的头就可以了。代码:/** * Definition for singly-linked list. * struct ListNode {...
2020-02-22 16:09:19
290
原创 【LeetCode】链表——移除链表元素
链接:https://leetcode-cn.com/explore/learn/card/linked-list/195/classic-problems/752/思路:遍历链表,如果节点的值等于 val,那么就将节点移除。这里新增加一个节点,是为了防止头结点和 val 相等时无法移除的情况。/** * Definition for singly-linked list. * stru...
2020-02-15 16:12:09
272
原创 【LeetCode】链表
链表与数组相似,链表也是一种 线性 数据结构。了解单链表和双链表的结构在单链表或双链表中实现遍历、插入和删除分析在单链表或双链表中的各种操作的复杂度在链表中使用双指针技巧(快指针慢指针技巧)解决一些经典问题,例如反转链表分析你设计的算法的复杂度积累设计和调试的经验单链表1、设计链表代码:class MyLinkedList {private: struct...
2020-02-15 15:15:23
112
原创 【LeetCode】链表——反转链表
1、反转链表https://leetcode-cn.com/explore/learn/card/linked-list/195/classic-problems/750/代码:
2020-02-15 15:14:17
218
原创 【LeetCode】队列&栈
队列&栈队列:先入先出的数据结构1、设计循环队列class MyCircularQueue {private: vector<int> data; int head; int tail; int size;public: /** Initialize your data structure here. Set the siz...
2019-12-28 15:48:25
121
原创 【LeetCode】数组和字符串
决定从今天开始整理一下leetcode上面的刷过的题,把这些记录下来感觉更有收获,希望整理的过程中自己也能再梳理一下,思路更加清晰,能力更上一个台阶!数组和字符串...
2019-12-28 15:40:14
171
原创 C++ 清空队列(queue)的几种方法
说明:C++中的queue自身不支持clear操作,但双端队列deque是支持clear操作的。方法一:直接用空的队列对象赋值queue<int> q1;//process//……q1=queue<int>();方法二:遍历出队列while(!Q.empty()){ Q.pop();}方法三:使用swap实现使用swap定义clear,保持ST...
2019-12-23 12:44:35
4389
原创 Catmull-Rom插值算法
Catmull-Rom Spline一、简要介绍Catmull-Rom算法保证两点:1、点Pi 的一阶导数等于Pi+1 - Pi-1,即点Pi 的切向量和其相邻两点连线的切向量是平行的;2、穿过所有Pi 点。这是与贝塞尔曲线的最大区别,正因为这样的特性,使得Catmull-Rom算法适于用作轨迹线算法。点Pi处的切线记作:τ (Pi+1 − Pi−1)。此算法的转换矩阵如下:p(u)...
2019-12-09 22:13:21
15073
1
原创 VS+Cmake修改编译运行opencv源码
各版本:VS2017+Cmake3.8.2+opencv3.4.1首先用Cmake生成OpenCV解决方案,参考下面的博客就可以了:https://blog.youkuaiyun.com/dcrmg/article/details/54097419编译过程中若出现“无法打开python37_d.lib”的错误信息,可参考以下博客:https://blog.youkuaiyun.com/weixin_4012733...
2019-10-20 10:59:12
194
原创 极大似然估计详解
参考博客:https://blog.youkuaiyun.com/zengxiantao1994/article/details/72787849
2019-08-19 21:52:47
597
原创 win10安装anaconda+tensorflow
Anaconda下载:https://www.anaconda.com/参考博客:Windows10下安装Anaconda3(64位)详细过程 https://blog.youkuaiyun.com/ychgyyn/article/details/82119201Windows10下用Anaconda3安装TensorFlow教程https://www.cnblogs.com/HongjianCh...
2019-07-14 20:21:21
211
转载 Git clone 常见用法
克隆Git仓库1.1 从远程仓库中克隆整个代码仓库mkdir Demo //在当前路径下新建一个文件夹,用来存放将要拉取的整个代码库cd Demo //进入这个文件夹repo init -u ssh://igerrit.storm:29418/Demo/manifest -b master//-u :指定一个URL,其连接到一个manifest仓库//-m:在ma...
2019-07-02 15:11:03
5473
转载 Git push 常见用法
Git push在使用git commit命令将修改从暂存区提交到本地版本库后,只剩下最后一步将本地版本库的分支推送到远程服务器上对应的分支了,如果不清楚版本库的构成,可以查看我的另一篇,git 仓库的基本结构。git push的一般形式为 git push <远程主机名> <本地分支名> <远程分支名> ,例如 git push origin maste...
2019-07-02 15:06:48
4690
转载 Git diff 常见用法
Git diff用于比较两次修改的差异1.1 比较工作区与暂存区git diff 不加参数即默认比较工作区与暂存区1.2 比较暂存区与最新本地版本库(本地库中最近一次commit的内容)git diff --cached […]1.3 比较工作区与最新本地版本库git diff HEAD […] 如果HEAD指向的是master分支,那么HEAD还可以换成master1.4 比...
2019-07-02 15:03:56
4549
转载 Git branch && Git checkout 常见用法
git branch 和 git checkout经常在一起使用,所以在此将它们合在一起1.Git branch一般用于分支的操作,比如创建分支,查看分支等等1.1 git branch不带参数:列出本地已经存在的分支,并且在当前分支的前面用"*"标记1.2 git branch -r查看远程版本库分支列表1.3 git branch -a查看所有分支列表,包括本地和远程1.4 ...
2019-07-02 14:59:54
700
转载 Git commit 常见用法
Git commitgit commit 主要是将暂存区里的改动给提交到本地的版本库。每次使用git commit 命令我们都会在本地版本库生成一个40位的哈希值,这个哈希值也叫commit-id,commit-id在版本回退的时候是非常有用的,它相当于一个快照,可以在未来的任何时候通过与git reset的组合命令回到这里.1.1 git commit -m “message”这种是比较常...
2019-07-02 14:53:21
21688
4
原创 opencv改变图片的亮度和对比度(c++实现)
opencv改变图片的亮度和对比度(c++实现)Changing the contrast and brightness of an image!访问像素值用零初始化一个矩阵了解cv :: saturate_cast做什么以及为什么它有用获取有关像素变换的一些很酷的信息理论图像处理一般的图像处理操作符是一个获取一个或多个输入图像并产生输出图像的功能。图像转换可以被看作是:...
2019-06-23 10:14:36
2249
原创 使用递归方法实现数组排序(C++)
最近在学习C++,顺便复习一下C语言的知识,提高下自己的编程能力,很多东西不用就忘记了。这其实是一道很简单的题,自己比较菜,一些点想了蛮久,记录一下。题目:编写一组重载的排序函数,可以对两个整数、三个整数、四个整数、整数数组从大到小排序,函数名为sort,其中数组排序应使用递归的方法,另补充print函数,在一行显示排序后的数组元素。用递归的方法进行数组排序:题目要求从大到小,所以对一个长...
2019-04-09 20:35:11
2982
原创 机器学习算法四——Logistic回归(2)(示例:从疝气病症预测病马的死亡率)
示例:从疝气病症预测病马的死亡率数据包含368个样本和28个特征。疝病是描述马胃肠痛的术语。然而,这种病不一定源自马的胃肠问题,其他问题也可能引发马疝病。该数据集中包含了医院检测马疝病的一些指标,**有的指标比较主观,有的指标难以测量,例如马的疼痛级别。**除此之外,还存在一个问题,数据集中有30%的值是缺失的。下面将首先介绍如何处理数据集中的数据缺失问题,然后再利用Logistic回归和随...
2019-03-10 21:15:20
2683
原创 机器学习算法四——Logistic回归(1)
本章内容⚫Sigmoid函数和Logistic回归分类器⚫最优化理论初步⚫梯度下降最优化算法⚫数据中的缺失项处理假设现在有一些数据点,我们用一条直线对这些点进行拟合(该线称为最佳拟合直线),这个拟合过程就称为回归。Logistic回归进行分类的主要思想:根据现有数据对分类边界线建立回归公式,以此进行分类。训练分类器的做法就是寻找最佳拟合参数,使用的是最优化算法。一、基于Logist...
2019-03-10 19:20:20
432
原创 机器学习算法三——基于概率论的分类方法:朴素贝叶斯(3)(示例:使用朴素贝叶斯分类器从个人广告中获取区域倾向)
示例:使用朴素贝叶斯分类器从个人广告中获取区域倾向我们将分别从美国的两个城市中选取一些人,通过分析这些人发布的征婚广告信息,来比较这两个城市的人们在广告用词上是否不同。如果结论确实是不同,那么他们各自常用的词是哪些?从人们的用词当中,我们能否对不同城市的人所关心的内容有所了解?...
2019-03-09 10:57:31
642
原创 机器学习算法三——基于概率论的分类方法:朴素贝叶斯(2)(示例:使用朴素贝叶斯过滤垃圾邮件)
示例:使用朴素贝叶斯过滤垃圾邮件首先,将文本解析成词条;然后,和前面的分类代码集成为一个函数,该函数在测试分类器的同时会给出错误率。一、准备数据:切分文本下面介绍如何从文本文档中构建自己的词列表。1、对于一个文本字符串,可以使用python的string.split()方法将其切分:def test(): mySent = 'This book is the best book ...
2019-02-28 21:05:38
717
原创 python+opencv 从摄像头视频中保存图片
生成数据集这里我们需要从摄像头的实时视频中生成数据集,使用python+opencv库,代码如下:import cv2cap = cv2.VideoCapture(1) #计算机自带的摄像头为0,外部设备为1i=0while(1): ret,frame = cap.read() #ret:True/False,代表有没有读到图片 frame:当前截取一帧的图片 cv...
2019-02-28 19:22:08
9692
1
原创 win10+python3.5下安装dlib库(使用imglab制作数据集)
Windows下安装dlib库一、dlib安装1、下载文件网址:http://dlib.net/最新版本为:dlib-19.16.tar.bz22、解压缩下载完后,解压缩文件,在命令窗口下进入dlib-19.16的目录,执行以下命令:mkdir build; cd build; cmake .. ; cmake --build再在dlib-19.16下执行命令:python ...
2019-02-28 18:50:12
3212
6
原创 机器学习算法三——基于概率论的分类方法:朴素贝叶斯(1)
若要求分类器给出“该数据实例属于哪一类”的明确答案,可能会产生错误结果。这时,可以要求分类器给出一个最优的类别猜测结果,同时给出这个猜测的概率估计值。“朴素”:整个形式化过程只做最原始、最简单的假设。一、基于贝叶斯决策理论的分类方法朴素贝叶斯(贝叶斯决策理论的一部分)优点:在数据较少的情况下仍然有效,可以处理多类别问题。缺点:对于输入数据的准备方式较为敏感。适用数据类型:标称型数据。...
2019-02-25 18:55:36
766
原创 机器学习算法二——决策树(3)(测试和存储分类器)+(隐形眼镜示例)
测试和存储分类器这节重点学习如何利用决策树执行数据分类。我们将使用决策树构建分类器,以及实际应用中如何存储分类器。1、测试算法:使用决策树执行分类在执行数据分类时,需要决策树以及用于构造树的标签向量。然后,程序比较测试数据与决策树上的数值,递归执行该过程直到进入叶子节点;最后,将测试数据定义为叶子节点所属的类型。#使用决策树的分类函数def classify(inputTree,feat...
2019-02-22 16:50:28
619
原创 机器学习算法二——决策树(2)(使用matplotlib绘制树形图)
在Python中使用Matplotlib注解绘制树形图本节将学习如何编写代码绘制如下图所示的决策树。1、Matplotlib注解Matplotlib提供了一个注解工具annotations,非常有用,可以在数据图形上添加文本注释。注解通常用于解释数据的内容。#使用文本注解绘制树节点import matplotlib.pyplot as plt#定义文本框和箭头格式decisio...
2019-02-21 15:53:26
1699
原创 机器学习算法二——决策树(1)(决策树的构造)
机器学习算法二——决策树(1)下图构造了一个假想的邮件分类系统:前面介绍的k-近邻算法可以完成很多分类任务,但它最大的缺点是无法给出数据的内在含义,决策树的主要优势就在于数据形式非常容易理解。决策树很多任务都是为了数据中所蕴含的知识信息,因此决策树可以使用不熟悉的数据集合,并从中提取出一系列规则,机器学习算法最终将使用这些机器从数据集中创造的规则。专家系统中经常使用决策树,而且决策树给出...
2019-02-13 17:06:23
651
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人