自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数据结构的一些算法

数据结构是相互之间存在一种或多种特定关系的数据元素的集合。数据结构的一些重要基础的线性结构链接树形结构链接图状结构链接查找算法顺序查找法折半查找法分块查找法树形查找法二叉排序树,BST平衡二叉排序树,AVL红黑树,RBTB树B+树散列表(哈希表)排序插入排序交换排序选择排序归并排序基数排序外部排序......

2022-06-30 14:16:23 1473 1

原创 排序算法,思想+C语言代码

本篇文章篇幅较长,我是为了考研写的,很多都是借鉴王道上的,初学者也可以看,都是排序基础算法;每节内容有,排序思想、性能分析、代码实现、往年408出题等吧这里代码应该都是以增序(、从小到大)(、顺序)排序;直接插入、冒泡和简单选择是最基本的,思想容易理解,代码实现也简单,适合元素个数n不是很大(n......

2022-06-30 13:53:18 897 2

原创 查找算法思想及代码——C语言

顺序查找法折半查找法分块查找法树形查找法二叉排序树,BST平衡二叉排序树,AVL红黑树,RBTB树B+树散列表(哈希表)

2022-06-27 11:34:56 1964

原创 SQL语言-数据库的定义

SQL语言数据定义创建基本表修改基本表索引数据查询数据定义创建基本表CREATE TABLE <表名>(<列名> <数据类型> [<列级完整性约束条件>][,<列名> <数据类型> [<列级完整性约束条件>]]...[,<表级完整性约束条件>);说明:1)<表名>是所要定义表的名字;2)表可以有一列(属性)或多列;3)创建基本表时必须说明每列的数据类型;4)创建基本表的同时

2021-10-27 14:32:52 952 1

原创 关于Linux一些常用的命令

一、基本命令1.1 关机和重启关机shutdown -h now 立刻关机shutdown -h 5 5分钟后关机poweroff 立刻关机重启shutdown -r now 立刻重启shutdown -r 5 5分钟后重启reboot 立刻重启1.2 帮助命令help–help二、目录操作命令2.1 目录切换 cd命令:cd 目录cd / 切换到根目录

2021-09-02 10:14:59 221

原创 R入门实例详解

安装刚入门R语言下在俩东西,R(R语言版本)和RStudio(R编译平台)R:RRStudio:Rstudio详细安装过程R语言是一门面向对象的编程语言每一个语句仿python,用{},不用:(冒号)单行注释:#注释多行注释:R不提供多行注释代替方法:RStudio选中需要注释的代码,快捷键Ctrl+Shift+C数据类型mode() #查看数据类型# numeric #数向量# character #字符串向量# list #列表#矩阵也是数向量的一种向量向量

2021-09-02 10:13:10 2049

原创 requsets模板

0、前言本文只讲简单的获取网页信息,爬取一些简单的数据,先说下网站爬取过程:1)有要爬取网站的网址url;2)检查元素(F12),查看源码找到想爬取的资源(文本、网址、、、)3)代码部分,get请求网址,数据位置(标签索引)4)保存爬取的数组(保存到本地)简单爬取就这些东西页面元素检查元素、查看网页源代码、F12面板(部分):面板说明元素面板(Elements)网页文本内容,使用元素面板可以自由的操作DOM和CSS来迭代布局和设计页面控制台面板(Consol

2021-07-24 16:12:20 180

原创 关于爬虫那档事

前言本文主要以代码形式讲解爬虫,代码中有注释可助理解;代码都是在PyCharm编译下写的,读者也可以下个PyCharm,还是很好用的。顺便说几个快捷键,都是对于选中的语句:Tab #换行Shift+Tab #取消换行Ctrl+?键 #多行注释(取消注释)爬虫分类还是先说下分类吧• 通用爬虫:通用爬虫是搜索引擎(Baidu、Google、Yahoo等)“抓取系统”的重要组成部分。主要目的是将互联网上的网页下载到本地,形成一个互联网内容的镜像备份。简单来讲就是尽可能的;把互联

2021-07-02 17:02:43 466

原创 熵的理解以及交叉熵损失函数

熵先来了解下什么是熵?信息论中熵的概念首次被香农提出,目的是寻找一种高效/无损地编码信息的方法:以编码后数据的平均长度来衡量高效性,平均长度越小越高效;同时还需满足“无损”的条件,即编码后不能有原始信息的丢失。这样,香农提出了熵的定义:无损编码事件信息的最小平均编码长度。什么编码长度呢?相对熵(KL散度)KL散度(Kullback-Leibler divergence)也叫做相对熵。若随机变量X有两个单独的概率分布p(x)和p(x),可以用相对熵来衡量这个个分布的差异,相对熵定义如下:DKL

2021-04-14 00:01:38 882

原创 Java对输入检测

我们要输入一个整数时,如果直接使用nextInt(),那么当输入的字符不是整数时,程序会报异常。因此就需要hasnextInt()来检测输入是否为整数,返回值为boolean类型(ture或flase)hasnext()用于检测输入是否为字符,字符的输入为next().charAt(0);下面举例几个用法://用法1、确定下一个输入是int类型//用法二,计算连续输入的整数和用法三:读取输入直到输入的是整数...

2021-03-23 17:03:22 1847

原创 for循环

for语句的执行过程是:首先计算<初始化语句>,然后计算<条件表达式>的值,如果该值为false,则结束循环,跳过循环体的<语句>,转到整个for语句的后继语句继续执行;如果该值为true,则执行循环体的<语句>,执行完循环体后,紧接着执行<增量表达式>,再计算<条件表达式>的值,如果该值为true,则执行循环体的<语句>,再执行<增量表达式>,再计算<条件表达式>进行测试……,直到<条件表达

2021-03-17 20:45:08 179

原创 Java基础知识点(1)(细节)

输入Scanner是JDK1.5新增的一个类,可以使用该类创建一个对象:Scanner reader = new Scanner(System.in);然后就可以用reader对象调用方法,读取用户在命令行输入的基本类型数据:nextBoolean()nextByte()nextShort()nextInt()nextLong()nextFloat()next Double()示例:Scanner reader = new Scanner(System.in);num = re

2021-03-16 23:37:24 184

原创 pyinstaller打包py为exe文件

1、安装pyinstaller在cmd中输入:pip install pyinstaller2、pyinstaller打包exe1、先进入py文件所在目录;2、再输入:pyinstaller -F 3、接着把py文件拖入里面(输入py文件全名也可)执行如下图:然后就在与py文件同目录下出来以下文件:exe文件就在dist文件夹内这图标是默认的3、在生成exe文件时更改图标需要使用-i参数,同时需要准备一个ico格式(其他格式应该也可,不过大小最好不要超过100kb)的图片

2021-03-11 23:51:35 194

原创 Java类与对象+知识点详解+代码实例

0、前言Java是面向对象语言,将数据和对数据的操作封装在一起,就是类;在学习类时,可对照C语言中的函数,就会发现两者的不同之出,函数只是体现出一个过程,而类就是面向对象。一个Java程序,包含了许多类。学习面向对象的过程中,一个理念:需要完成某种任务时,首先要想到,谁去完成任务,即哪个对象去完成任务;提到数据首先想到这个数据是哪个对象的。1、类类的定义包括:类声明和类体基本格式:class 类名{ 类体的内容}1.1 类声明class People{ ...}class

2021-01-26 21:14:58 1122

原创 初入Java,安装jdk,ij编译,运行

前言本博客写了JDK安装,其配置;还有Intellij IDLE安装(编译器,写Java程序代码用的这个)主要是遇到的问题Java特点Java不同于C/C++,在与,面向对象、平台无关、多线程、动态。面向对象:在需要完成某种任务时,首先要想到谁去完成任务,即哪个对象去完成任务;提到数据,首先要想到这个数据是哪个对象的,总之一切围绕着对象。C语言是面向过程,代码块是程序执行产生的一种行为,没有指定的“主体”,,无法说明是”谁“具有这样的行为。平台无关:只要平台提供了Java运行环境,Java编写

2021-01-18 13:25:39 4527 2

原创 由先序和中序建立二叉树 + C语言代码

概述描述:给定一个先序(后序)和中序来建立一个二叉树,例如先序序列:ABDCEF,后序序列:BDAECF建立一个二叉树递归先序遍历的第一个节点是根节点。在中序遍历的序列中,位于该节点左边的是左子树,位于该节点右边的是右子树。如果左子树不为空,那么前序遍历的第二个节点就是左子树的根节点,否则就是右子树的根节点。对左右子树再分别重复上述步骤,可唯一确定一个二叉树。(后序序列就要从后往前)代码#include <stdio.h>struct TNode{ char data;

2020-12-01 21:37:29 3019 1

原创 BPR-贝叶斯个性化排序+算法

0、前言BPR(Bayesian Personalized Ranking)在很多推荐场景中,我们都是基于现有的用户和商品之间的一些数据,得到用户对所有商品的评分,选择高分的商品推荐给用户,这是funkSVD之类算法的做法,使用起来也很有效。但是在有些推荐场景中,我们是为了在千万级别的商品中推荐个位数的商品给用户,此时,我们更关心的是用户来说,哪些极少数商品在用户心中有更高的优先级,也就是排序更靠前。也就是说,我们需要一个排序算法,这个算法可以把每个用户对应的所有商品按喜好排序。BPR就是这样的一个我们

2020-11-20 22:38:32 393

原创 模式串匹配实现--BF算法+KMP算法+c++代码

0、前言串就是字符串,由数字、字母、下划线组成的一串字符。在C语言中式用双引号,像:“abcd” 就是一个字符串,存储方式类似字符数组,即下标与位置相差1,即a[0]= ‘a’ ;还有就是 ‘\0’ 是结尾符。串模式匹配有两个字符串,SSS:主串;TTT:子串,也称为模式串。串匹配就是在主串中查找与模式串T相匹配的子串,若是匹配成功,则返回匹配子串出现的第一个位置。BF(Brute-Force)算法是最简单直观的模式(串)匹配算法KMP算法是在BF算法的改进,不用回溯,使用next函数,1、BF

2020-11-06 00:46:15 1381

原创 栈-表达式

前言栈:后进先出没描述,先学的看看代码,代码都可运行,要注意输入格式哦,,表达式-中缀#include<iostream>using namespace std;#define ERROR 0;#define OK -1;typedef int status;typedef struct Stack{ int data; struct Stack *next;}Stack,*LinkList;void instack(LinkList &S){ S=n

2020-10-27 19:33:50 347

原创 通讯录-链表+C++代码

前言链表基本单位是结构体,结构体里包含指向“下个”结构的指针;顺序链表有:单链表、双向链表、循环链表。通讯录就是顺序单链表的一种应用。**声明:**下面这个代码就是最基本的通讯录,操作是最基本操作,包含,新建、插入、删除、添加、查找。C++代码实现#include<iostream>#include<iomanip>#include<cstring>using namespace std;#define OK 1; //规定#defin

2020-10-27 18:55:44 1147

原创 矩阵分解(MF)-推荐系统+python代码

前言推荐系统中最为主流与经典的技术之一是协同过滤技术(Collaborative Filtering),它是基于这样的假设:用户如果在过去对某些项目产生过兴趣,那么将来他很可能依然对其保持热忱。目前推荐系统中用的最多的就是矩阵分解(Matrix Factorization)方法。矩阵分解就是预测出评分矩阵中的缺失值,然后根据预测值以某种方式向用户推荐。矩阵分解可以解决一些近邻模型无法解决的问题,近邻模型存在的问题:1、物品之间存在相关性,信息量并不是随着向量维度增加而线性增加2、矩阵元素稀疏,

2020-10-04 20:25:47 1383

原创 梯度下降与线性回归+python代码

线性回归回归分析中,只包括一个自变量和一个因变量,且二者的关系可用一条直线近似表示,这种回归分析称为一元线性回归分析。如果回归分析中包括两个或两个以上的自变量,且因变量和自变量之间是线性关系,则称为多元线性回归分析。一元线性回归...

2020-10-03 23:40:23 871

原创 Al-learing数学基础,平均差,方差,协方差

一、离差(Deviation)离差即标志变动度,又称“偏差”,是观测值或估计量的平均值与真实值之间的差,是反映数据分布离散程度的量度之一,或说是反映统计总体中各单位标志值差别大小的程度或离差情况的指标,常写作:xi−xˉx_i-\bar{x}xi​−xˉ性质:离差的代数和等于0;参与计算平均数的各变量值与平均数之差的平均和,小于这些变量值与平均数之外的任何数之差的平均和。二、平均差(Mean Deviation、Average Deviation)平均差也称为均值,是数据分布中所有原始

2020-10-03 16:04:08 1649

原创 K-Means聚类算法--步骤+代码

0.介绍聚类和分类算法的最大区别在于,分类的目标类别为已知(监督学习),而聚类的目标类别是未知的(非监督)。K_Means算法(K_均值算法)就是无监督算法之一1.原理对于给定的样本集,按照样本之间的距离大小,将样本集划分为K个簇。让簇内的点尽量紧密的连在一起,而让簇间的距离尽量的大。数据表达式:假设簇划分为(C1,C2,...Ck)(C_1 ,C_2,...C_k)(C1​,C2​,...Ck​),则我们的目标是最小化平方误差E:E=∑i=1K∑x∈Ci∣∣x−μi∣∣22E={\sum

2020-09-29 14:57:01 30593 4

原创 K近邻算法(Knn)

链接链接1链接2实例C语言实例C++语言sklearn函数实现了解个knn是干什么,算法过程就管了,直接用sklearn库from sklearn.neighbors import KNeightborsClassifier as KNNfrom sklearn import datasetskn = KNN() # 申明对象iris = datasets.load_iris() # 导入数据,这里是导入CSV库里面自带的"iris.csv"文件knn.fit(iris.data,

2020-09-22 23:43:32 286

原创 魔方阵1~n*n(全)--C语言

魔方阵的构造描述:由n*n个数字所组成的n阶方阵,若具有各对角线、各横列与纵行的数字和都相等的性质,则称为魔方阵。这个相等的和称为魔术数字。若填入的数字是从1到n*n,称此种魔方阵为n阶正规魔方阵。如下所示为一个3阶魔方阵和一个四阶魔方阵。魔方阵的构建方法很多,一般将n分为三类,这三类n构成的魔方阵的算法各不相同。当n为奇数,即n=2*k+1时,常采用简捷连续填数法。当n为单偶数(n是偶数,但又不能被4整除),即n=4*k+2时,常采用井字调整法。当n为双偶数(n能被4整除),即n=4*k时

2020-06-14 02:55:29 8163 3

原创 C语言练习题---初学者

声明:适合初学者学习大多从谭浩强课本上摘取的,算是基础经典老题吧!例题顺序是按照目录来撰写的代码是本人自己编写的,或许也有其他方法目录:熟悉C语言程序编辑与调试环境顺序结构程序设计选择结构程序设计循环结构程序设计函数数组指针结构体文件那么开始吧!1、打印出 Hello World输入:无输出:Hello World代码:#include<stido.h>int main(){printf("Hello World");return 0;}2

2020-06-14 02:53:57 17172 14

原创 C语言初学者-计算器(不奥深,基础,嘿嘿)

C语言计算器接下来对代码由浅入深No.1简易计算器,具有加减乘除,平方,立方和退出功能:a--加法 b--减法 c--乘法 d--除法e--开放 f--平方g--立方 q--退出运行示例:&欢迎使用简易计算机&请输入以下字母:a:加法 b:减法 c:乘方 d:除法e:开方 f:平方 g:立方 q:退出请输入你的选项:e请输入数值:52.00的开方等于2.24代码示例:在这里插入代码片...

2020-05-13 18:47:36 2587 4

空空如也

空空如也

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

TA关注的人

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