自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 冒泡排序

冒泡排序1 基本思想以从小到大排序为例,冒泡排序检查当前位置元素与其后面相邻位置元素的大小,如果小于后面的元素,则将这两个元素交换,重复执行交换的过程直到序列有序。2 代码实现#include <iostream>using namespace std;void BubbleSort(int* arr, int n);void Swap(int& a, int& b);void Print(int* arr, int n);void Swap(

2021-05-24 19:31:14 124

原创 堆排序

堆排序1 堆的定义堆是具有下列性质的完全二叉树:每个节点的值都大于或等于其左右孩子节点的值,称为大顶堆;或者每个节点的值都小于或等于其左右孩子节点的值,称为小顶堆。假定堆顶(即二叉树的根节点)的编号为 0,按照层序遍历的方式给堆的每个节点进行编号,第 i 个节点的左右孩子节点(如果有的话)的编号分别是 2 * i 和 2 * i + 1;同样,第 i 个节点的父节点(如果有的话)的编号是 i / 2。2 堆的存储结构以大顶堆为例,介绍两种堆的存储方式。2.1

2021-05-23 17:11:02 492

原创 C++中的初始化

C++中的初始化初始化不是赋值,初始化的含义是:创建变量时赋予其一个初值,而赋值的含义是把对象的达当前值擦除,并以一个新的值来代替。1.默认初始化如果定义变量时没有指定初始值,则变量被默认初始化,此时变量被赋予一个默认值,默认值到底是什么有变量的类型决定,同时定义变量的位置也会对默认初始化有影响。如果是内置类型的变量未被显示初始化,它的值有定义位置决定。定义于任何函数之外的变量被初始化为0。定义在函数体内部的内置变量将不被初始化,若果试图拷贝或以其他方式访问此类型的变量将引发

2021-05-21 23:09:54 1291

原创 C++中int* a = new int(10)与int* a = new int[10]的区别

C++中int* a = new int(10)与int* a = new int[10]的区别1.int* a = new int(10)表示申请一个内存空间,存放的初值是10。释放:delete a;2.int* a = new int[10]表示申请一个存放十个元素的数组。释放:delete[] a;

2021-05-18 13:03:13 2804

转载 空指针与野指针

空指针与野指针参考:https://blog.csdn.net/qq_33757398/article/details/81259636

2021-05-17 15:05:49 54

原创 C++分文件编写函数

C++分文件编写函数作用让代码结构更加清晰,方便大型项目的开发和管理步骤1.创建后缀名为.h的头文件2.创建后缀名为.cpp的源文件3.在头文件中写函数的声明4.在源文件中写函数的定义一般会另外创建main.cpp文件以便管理所有的源文件(main文件只能有一个)示例//swap.h文件#include<iostream>using namespace std;//实现两个数字交换的函数声明void swap(int a, int b);

2021-05-17 13:55:52 158 1

原创 摩尔投票

摩尔投票解决的问题在任意多的候选人中选择票数最多的那个算法需要满足的条件1. 如果只选出一个票数最多的人,则其票数需超过 1 / 2 的票数2. 如果至多选两个代表,票数至少要超过 1 / 3 的票数3. 如果至多选m个代表,那他们的票数至少要超过 1 / (m+1)一个例题一个包含 N 个元素的整数数组 nums 中存在一个元素的出现次数 t 超过元素总个数的一半(即 t > N/2)。请找出这个元素例:nums = [6,2,5,3,4,2,2,2,2,5],输

2021-05-15 15:26:47 76

原创 线段树(一)

线段树(一)线段树的定义线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。——引自百度百科其实就是把一个区间(线段或数组)按照某种原则划分为若干个小区间,每个小区间是线段树的一个节点。为什么要线段树这种数据结构首先思考这样一个问题:给定一个数组nums,数组nums里面包含N个整数,现有m次询问,每次询问区间[L, R]之间的数字之和。思路一:每次遍历数组nums中从L到R的元素,然后累加。时间复杂度为O(N*m)。思路二:另

2021-05-14 00:54:17 140

原创 python各种包的镜像下载地址

问题描述包括numpy、pandas在内的很多python包都可以通过命令pip install package_name来安装,但是有些包采用此方法安装会发生超时等问题导致下载失败。如中文文本分词包pynlpir通过pip下载会报错:Retrying (Retry(total=2, connect=None, read=None, redirect=None)) after connecti...

2020-04-19 21:24:55 2321

原创 Logistic回归——从推导到实现(二)(python版)

Logistic回归——从推导到实现(二)(python版)上一篇博客探讨了逻辑回归拟合线性边界的情况,本文着重考虑逻辑回归如何分类具有非线性关系的数据,即拟合非线性边界。关于线性逻辑回归的实现,请参考我的另一篇博客线性逻辑回归预期目标:上图黄色和紫色的点分别代表不同类别的数据,我们期望找到一个决策边界(如图中蓝色线)可以很好地区分这两类数据。推导过程运行结果如下:绿色的曲线为决...

2020-04-15 23:02:36 139

原创 Logistic回归——从推导到实现(一)(python版)

Logistic回归——从推导到实现(一)(python版)逻辑回归模型是机器学习领域的一个常见模型,其构思巧妙、实现相对简单,是很多复杂机器学习算法的基础。本文以二元线性逻辑回归为例,详细阐述在实现该算法时用到的数学基础,并附演示代码和数据。关于逻辑回归模型的理论由来,因其思想较为简单,本文不做详细讨论,需要的小伙伴可以自行查阅相关资料假设我们有以下数据集,该数据集共分为两类:我们需要找...

2020-04-12 19:30:49 248

原创 训练集、验证集和测试集的理解

训练集、验证集和测试集的理解相信很多小伙伴在学习机器学习的过程中时常遇到“训练集、验证集与测试集”三个术语,大部分人比较容易理解训练集和测试集的区别与作用,而对验证集和测试集的理解却十分模糊。本文就从机器学习的一般流程进一步探讨三个数据集的具体作用。先来看看三种数据集的划分:这里先解释普通参数和超参数的概念:普通参数:优化算法所能更新的参数,如神经网络算法中的相邻两层权重和每层的偏置。...

2020-04-11 22:37:48 2649

data_logistic_line.txt

《Logistic回归——从推导到实现》一文用到的数据集,数据集一共三列100行,第一列是x1、第二列是x2、第三列是类别标签

2020-04-12

空空如也

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

TA关注的人

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