自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(104)
  • 资源 (1)
  • 收藏
  • 关注

原创 java9

09.01_多态的概述及其代码体现A:多态(ploymorphic)概述事物存在的多种形态B:多态前提a:要有继承关系b:要有方法重写c:要有父类引用指向子类的对象C:案例演示代码体现多态class Demo1_Ploymorphic { public static void main(String[] args) { Animal a = new Cat(); //父类引用指向子类对象 a.eat(); //输出:猫吃鱼 }}class Anim

2021-01-01 11:36:22 667

原创 java8

08.01_代码块的概述和分类(面试时会问,开发时不用或很少用)A:代码块概述在Java中,使用{}括起来的代码称为代码块B:代码块分类根据其位置和声明不同,可分为局部代码块,构造代码块,静态代码块,同步代码块(多线程时会讲)。C:常见代码块应用a:局部代码块在方法中出现;限定了变量的生命周期,及早释放,提高内存使用率。程序段class Demo1_Code { public static void main(String[] args) { { i

2021-01-01 11:33:41 268

原创 java7

07.01_构造方法(Constructor) 概述和格式A:构造方法概述和作用给对象的数据(属性)进行初始化B:格式特点方法名和类名相同(大小写也要和类名一致)没有返回值类型,连void也没有没有具体的返回值returnC:案例演示class Demo1_Constructor { public static void main(String[] args) { Person p = new Person(); //在创建对象的时候,系统就帮我们调用了构造方法

2021-01-01 11:32:57 350 1

原创 java6

06.01_面向对象思想概述A:面向过程思想概述第一步,第二步,第三步…B:面向对象思想概述找对象(第一步,第二步,第三步…)C:面向对象的思想特点是一种更符合我们思想习惯的思想可以将复杂的事情简单化将我们从执行者变成了指挥这,角色发生了转换。D:面向对象开发就是不断的创建对象,使用对象,指挥对象做事情。E:面向对象设计其实就是在管理和维护对象之间的关系。F:面向对象特征封装(encapsulation)继承(inheritance)多态(p

2021-01-01 11:30:54 417

原创 java5

05.01_数组概述和格式定义说明A:为什么要用数组(容器)为了存储同种数据类型的多个值B:数组概念数组是存储同一种数据类型多个元素的几何,也可以看成是一个容器数组既可以存储基本数据类型,也可以存储引用数据类型C:数组定义格式数据类型[] 数组名 = new 数据类型[数组的长度];05.02_数组的初始化——动态初始化A:什么是数组的初始化就是为数组开辟连续的内存空间,并为每个数组元素赋值B:如何对数组进行初始化a:动态初始化:只指定长度,由系统

2021-01-01 11:29:03 221

原创 java4

04.01_循环结构概述和for语句的格式及其使用A:循环结构分类for,while,do…whileB:循环结构for语句的格式for(初始化表达式;条件表达式;循环后的操作表达式) { 循环体; }C:执行流程a:执行初始化语句b:执行判断条件语句,看其返回值是true还是false如果是true,就继续执行如果是false,就结束循环c:执行循环体语句d:执行循环后的操作表达式e:回到b继续D:注意事项判断条件语句无论是简单还是复杂,结果都

2021-01-01 11:24:12 141

原创 java3

03.01_逻辑运算符的基本用法A:逻辑运算符有哪些&,|,^,!&&,||B:注意事项逻辑运算符一般用于连接boolean类型的表示式或值表达式:就是用运算符把常量或者变量连接起来的符合java语法的式子算术运算符:a + b比较表达式:a == bC:结论&逻辑与:有false,则false|逻辑或:有true,则true^逻辑异或:相同为false,不同为true!逻辑非:非false则true,非true则fals

2021-01-01 11:23:20 133

原创 java2

02.01_常量的概述和使用A:什么是常量在程序执行的过程中,它的值不可以发生改变。B:Java中常量的分类字面值常量自定义常量C:字面值常量分类字符串常量用双括号引起来的内容整数常量所有整数小数常量所有小数字符常量用单引号括起来的内容,里面只能放单个数字,单个字母或者单个符号布尔常量只有true和false空常量nullD:案例演示class Demo1_Constant { public static v

2021-01-01 11:21:52 103 1

原创 Java1

01.01_计算机语言分类机器语言:能够为机器所识别的语言,实则为若干个0和1组成为二进制代码。汇编语言:用一些特殊符号表示二进制码,需要用特定软件将其翻译成机器语言,计算机才能执行。高级语言:使用普通英语编写的源代码,需要通过编译器将其翻译成机器语言,计算机才能执行。高级语言包括C,C++,C#,Java等。01.02_人机交互A:人机交互的两种方式命令行方式:控制台输入,需要特殊指令。windows里为cmd命令行(DOS),ubuntu里为termial

2020-05-18 17:36:19 234 1

原创 EKF_SLAM简析

一、EKF原理1.卡尔曼滤波原理(KF)卡尔曼滤波是贝叶斯滤波的具体化,需要系统满足两个假设:线性化假设:系统为线性系统,包含两个层面,即系统的状态转移函数为线性函数,系统的观测模型也为线性函数 。状态转移函数:系统从t-1时刻到t时刻不加观测量情况下状态量的变化,可以表示如下,xt=Atxt−1+Btut+εt{x_t} = {A_t}{x_{t - 1}} + {B_t}{u_t...

2020-05-12 11:07:39 5833 3

原创 非线性最小二乘法原理

一些基础概念[1]1.最小二乘法定义找到一个x∗{x^*}x∗,使得下面的式子到达局部最小值,F(x)=12∑i=1m(fi(x))2F(x) = \frac{1}{2}\sum\limits_{i = 1}^m {{{({f_i}(x))}^2}}F(x)=21​i=1∑m​(fi​(x))2这里的fi(x){{f_i}(x)}fi​(x)表示变量为xxx的函数,其中自变量xxx维度为nn...

2020-03-29 14:58:44 12853

原创 矩阵的QR分解

在线性最小二乘里,最后得到的闭式解为(ATA)x=ATb({A^T}A)x = {A^T}b(ATA)x=ATb,对于该等式的求解,其中一种方法是正交变换法求解,而正交变换求解线性最小二乘的实质就是对矩阵AAA进行QR分解。QR分解的概念:若实非奇异对称矩阵A能化为正交矩阵Q和实非奇异上三角矩阵R的乘积,即A=QRA=QRA=QR,则称该式为A的QR分解。事实上,任何的实非奇异n阶矩阵A都可以...

2019-10-09 19:19:03 5536

原创 new与malloc的区别

#include<iostream>#include<new>using namespace std;const int buf(512);int N(5);int a[buf] = { 1 };int main() { cout << a[0] << endl; int *p1, *p2; p1 = new int[N];...

2019-09-30 10:57:57 257

原创 EM算法详解

极大似然估计极大似然的本质是找出与样本分布最接近的概率分布模型,它是一种用样本来估计概率模型参数的方法。下面以二项分布和高斯分布为例。1.二项分布例如,进行抛硬币实验,十次抛硬币的结果是:正正反正正正反反正正正正反正正正反反正正正正反正正正反反正正假设p是每次抛硬币结果为正的概率,则,得到实验结果的概率是,P=pp(1−p)ppp(1−p)(1−p)pp        =p7(1−p)3\...

2019-09-27 17:00:52 311

原创 代码区——排序算法

#include<iostream>#include<vector>using namespace std;//直插法排序void Insertsort(vector<int>& v){ int i, j; for (i = 2; i < v.size(); i++) { if (v[i] < v[i - 1]) ...

2019-09-26 17:14:10 183

原创 最大子数组问题的三种算法

最大子数组问题描述如下:一个数组有N个元素,求连续子数组的最大和,并返回其在原数组中的索引位置。例如,[-1,2,1]的最大连续子数组为[2,1],其和为3,索引位置为1和2(数组下标从0开始)。下面以数组[13,-3,-25,20,-3,-16,-23,18,20,-7,12,-5,-22,15,-4,7]为例,进行各种算法的说明。暴力解法对具有n个元素的数组进行两次遍历,求取任意两个...

2019-09-26 09:22:37 1606 2

原创 代码区——栈

#include "stdafx.h"#include<iostream>#define MAXSIZE 100using namespace std;//栈的数据类型定义typedef struct { int *base; int *top; int stacksize;}SqStack;//初始化一个栈int InitStack...

2019-09-17 18:21:03 116

原创 代码区——顺序表

#include "stdafx.h"#include<iostream>#define MAXSIZE 100using namespace std;//顺序表类型定义typedef struct { int *data; int length;}SqList;//初始化顺序表void InitList(SqList& L){...

2019-09-17 11:12:39 213

原创 代码区——单链表

#include "stdafx.h"#include<iostream>using namespace std;typedef struct Lnode //链表类型定义{ int data; struct Lnode* next;}Lnode,*LinkList;void CreateList_Head(Link...

2019-09-17 09:54:57 177

原创 数据结构索引

数据结构与算法序数据结构之线性表(一)——定义数据结构之线性表(二)——操作类型数据结构之线性表(三)——顺序存储结构(1 定义与特点)数据结构之线性表(三)——顺序存储结构(2 C/C++语言有关操作)数据结构之线性表(三)——顺序存储结构(3 顺序表基本操作的实现)数据结构之线性表(三)——顺序存储结构(4 顺序表小结)数据结构之线性表(四)——链式存储结构(概念)数据结构之线...

2019-09-16 10:40:40 672

原创 机器学习——多模型选择和融合的方法2(AdaBoost)

Adaptive Boost(AdaBoost)是一种融合模型,而与Blending不同的是,Blending是在得到gtg_tgt​之后再进行融合,而AdaBoost是一边学习gtg_tgt​,一边融合。那么在介绍AdaBoost之前,首先要看的一个算法模型——前向分步算法。那么,什么是前向分步算法?首先,考虑如下形式的加法模型,f(x)=∑m=1Mβmb(x;γm){\rm{f}}(x...

2019-09-06 16:37:26 1142

原创 机器学习——多模型选择和融合的方法(Validation & Blending & Bagging)

在学习Blending和Bagging之前,先来看一个衡量泛化误差的方法——偏差-方差分解(bias-variance decomposition)。一个机器学习模型的泛化误差主要由3个部分组成,即:偏差(bias),方差(variance)和噪声(nosie),泛化误差=bias + variance + noise若有一个数据集DDD,DDD中有一堆测试样本xxx,其对应的标签集为y...

2019-08-30 12:41:28 1069

原创 机器学习——SVM的回归形式(SVR)

岭回归(ridge regression)在前面的一篇博客(机器学习——线性回归(Linear Regression))中提到,线性回归的解析解如下,w=(XTX)−1XTyw = {({X^T}X)^{ - 1}}{X^T}yw=(XTX)−1XTy其中,X的维数为N×(d+1)N \times (d + 1)N×(d+1)。因为大多数情况下样本量(N)是远大于特征数(d)的,所以,XTX...

2019-08-26 21:46:23 4956

原创 机器学习——SVM(5 有关SVM的一些解释)

SVM是一种正则化模型对于上一篇所讲的Soft-Margin SVM有如下形式,min⁡b,w,ξ12wTw+C⋅∑n=1Nξns.t.&ThickSpace;&ThickSpace;&ThickSpace;yn(wTzn+b)≥1−ξn&ThickSpace;&ThickSpace;&ThickSpace;&ThickSpace;&am...

2019-08-25 16:28:28 434

原创 数据结构之排序(六)——各种排序方法的比较

时间性能按平均时间性能来分,有三类排序方法:时间复杂度为O(nlogn)O(nlogn)O(nlogn)方法有:快速排序、堆排序和归并排序,其中以快速排序为最好;时间复杂度为O(n2)O(n^2)O(n2)方法有:直接插入排序 、冒泡排序和简单选择排序,其中以直接插入为最好,特别是对那些关键字近似有序的记录序列尤为如此;时间复杂度为O(n)O(n)O(n)方法有:基数...

2019-08-15 11:01:46 1848

原创 数据结构之排序(五)——其他类型排序(归并排序、基数排序)

归并排序基本思想:将两个或两个以上的有序子序列“归并”为一个有序序列。在内部排序中,常采用2-路归并排序。即,将两个位置相邻的有序子序列R[l…m]和R[m+1…n]归并为一个有序序列R[l…n]。例子:初始序列为{48,34,60,80,75,12,26,48*}方法: 上图是一个倒着的树(归并树),总共需要⌈log⁡2n⌉\left\lceil {\log _2^n...

2019-08-15 10:40:23 321

原创 数据结构之排序(四)——选择排序(简单选择排序、堆排序)

简单选择排序基本思想:在待排序的数据中选出最大(小)的元素放在其最终的位置。基本操作:1.首先通过n-1次关键字比较,从n个记录中找出关键字最小的记录,将其与第一个记录交换2.再通过n-2次比较,从剩余的n-1个记录中找出关键字次小的记录,将其与第二个记录交换3.重复上述操作,共进行n-1趟排序后,排序结束。算法描述void SelectSort(SqList &K)...

2019-08-13 16:29:19 1800

原创 数据结构之排序(三)——交换排序(冒泡排序、快速排序)

交换排序基本思想:两两比较,如果发生逆序则交换,直到所有记录都排好序为止。常用方法:冒泡排序和快速排序。冒泡排序基本思想:每趟不断将记录两两比较,并按“前小后大”规则交换。——基于简单交换思想例子冒泡排序过程初始状态如下,第1趟,交换过程如下, 第1趟结束后,最大的元素到了最后,所以只需要管前面n-1个元素,第2趟,交换过程如下,第2趟结束后,最后两...

2019-08-13 09:49:57 422

原创 数据结构之排序(二)——插入排序(直接插入排序、折半插入排序、希尔排序)

插入排序基本思想:每步将一个待排序的对象,按其关键码大小,插入到前面已经排好序的一组对象的适当位置上,直到对象全部插入为止。边插入边排序的思想,保证子序列中随时都是排好序的。基本操作:有序插入在有序序列中插入一个元素,保持序列有序,有序长度不断增加。起初,a[0]是长度为1的子序列。然后,逐一将a[1]至a[n-1]插入到有序子序列中。有序插入方法:在插入a[i]之...

2019-08-12 18:33:15 907

原创 数据结构之排序(一)——基本概念

排序:将一组杂乱无章的数据按一定规律顺次排列起来。即,将无序序列排成一个有序序列(由小到大或由大到小)的运算。如果参加排序的数据结点包含多个数据域,那么排序往往是针对其中某个域而言的。排序的应用:软件中的直接应用,如按某个域排序,方便查找程序中的简介应用二分查找法最短路径、最小生成树等排序方法的分类:按数据存储介质:内部排序和外部排序按比较器个数:串行排序...

2019-08-12 09:33:26 771

原创 数据结构之查找(七)——散列表(哈希表)

基本概念基本思想:记录的存储位置与关键字之间存在对应关系,这种对应关系通过hash函数来体现,Loc(i)=H(keyi)Loc(i)=H(keyi)Loc(i)=H(keyi),其中H(keyi)为hash函数。例子:例子1上图中,学生学号的存储位置为学号的后两位。·* 例子2如何查找?以上两例为例,若查找2001011810216的信息,可直接访问V[16]...

2019-08-11 13:03:21 644

原创 数据结构之查找(六)——平衡二叉树

定义平衡二叉树(balanced binary tree),又称AVL树(Adelson-Velskii and Landis),其定义如下:一棵平衡二叉树或者是空树,或者是具有下列性质的二叉排序树:左子树与右子树的高度之差的绝对值小于等于1;左子树和右子树也是平衡二叉排序树平衡因子: 给每个结点附加一个数字,给出该结点左子树和右子树的高度差。平衡因子=结点左子树的高度-结点...

2019-08-10 14:50:35 1227

原创 数据结构之查找(五)——二叉排序树

当表插入、删除操作频繁时,为了维护表的有序性,需要移动表中的很多记录。所以改用动态查找表——几种特殊的树。其表结构在查找的过程中动态生成。对于给定的key,若表中存在,则成功返回;否则,插入关键字等于key的记录。这样的动态查找表有:二叉排序树,平衡二叉树,红黑树,B-树,B+树以及键树等。二叉排序树的定义定义:二叉排序树或是空树,或是满足如下性质的二叉树:若其左子树非空,则...

2019-08-09 18:55:11 4177 1

原创 数据结构之查找(四)——分块查找(索引顺序查找)

条件:将表分为几块,且表或者有序,或者分块有序(块间有序,块内无序);分块有序含义: 若i<j,则第j块中所有记录的关键字均大于第i块中的最大关键字。建立“索引表”,每个结点含有最大关键字域和指向本块第一个结点的指针,且按关键字有序。查找过程:先确定待查记录所在块(顺序或折半查找),再在块内查找(顺序查找)。例子: 在上述表中查找值为38的元素。方法:首先...

2019-08-09 15:50:32 3016

原创 数据结构之查找(三)——折半查找(二分查找)

折半查找:每次将待查记录所在区间缩小一半。具体查找过程: 在一个非递减的有序表中,查找值为21的元素。1.在表的两端设置两个指针high和low,2.计算中间位置:mid=(low+high)/2。若关键字的值小于中间位置的值,则在前半区找。即,key<mid,则:high=mid+1。3.再计算中间位置:mid=(low+high)/2。若关键字的值大于中间位置的值,则在后...

2019-08-09 11:11:29 1894

原创 数据结构之查找(二)——顺序查找

应用范围顺序表或线性链表表示的静态查找表表内元素之间无序顺序表的表示数据元素类型定义:typedef struct{ KeyType key; //关键字域 ...... //其他域}ElemType;顺序表定义:typedef struct{ ElemType *R; //数组 int length; ...

2019-08-09 09:51:02 1203

原创 数据结构之查找(一)——基本概念

在哪里查找?——查找表查找表是由同一类型的数据元素(或记录)构成的集合。由于“集合”中的数据元素之间存在着松散的关系,没有严格的前驱和后继的关系,因此查找表是一种应用灵活的结构。什么是查找?根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素(或记录)。关键字: 用来标识一个数据元素(或记录)的某个数据项的值。主关键字:可唯一地标识一个记录的关键字次关键字:用以识...

2019-08-09 08:27:45 732

原创 数据结构之图(十)——关键路径

AOE网定义: 把工程计划表示为边表示活动的网络,叫AOE网。用顶点表示事件,弧表示活动,弧的权表示活动持续时间。例子:事件:表示在它之前的活动已经完成,在它之后的活动可以开始。例如,菜单定制(活动A)表示为,其中,结点v1:表示A之前的活动已经完成,边:表示活动A,边的权值:表示活动A持续30分钟,结点v2:表示活动A完成之后的后续活动可以开始。上述问题的AOE网为,...

2019-08-08 18:49:10 641

原创 数据结构之图(九)——拓补排序

有向无环图:无环的有向图,简称DAG图(Directed Acycline Graph)。有向无环图常用来描述一个工程或系统的进行过程。(通常把计划、施工、生产、程序流程等当成是一个工程)一个过程可以分为若干个子工程,只要完成了这些子工程,就可以导致整个过程的完成。两种表示法:AOV网:用一个有向图表示一个工程的各子工程及其相互制约的关系,其中以顶点表示活动,弧表示活动之间的优先制约...

2019-08-08 15:53:38 392

原创 数据结构之图(八)——最短路径问题

最短路径问题抽象典型用途:交通网络问题——从甲地到乙地是否有公路连通?在有许多条公路连通的情况下,哪一条最短?交通网络用有向网表示:顶点——表示地点弧——表示两个地点有路连通弧上的权值——表示两地点之间的距离、交通费或途中所花费的时间的等。如何能够使一个地点到另一个地点的运输时间最短或运费最省?这就是一个求两个地点的最短路径问题。问题抽象: 在有向网中A点(源点)到达B点...

2019-08-08 12:15:03 4928

METHODS FOR NON-LINEAR LEAST SQUARES PROBLEMS

学习非线性最小二乘法的必备资源,总结的很好。

2020-04-03

空空如也

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

TA关注的人

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