C++ STL string 扩容策略

文章目录一、引例1、string 扩容概述2、扩容尝试二、扩容逻辑猜测1、猜测一:常数增量2、猜测二:倍数增量三、扩容逻辑实现一、引例1、string 扩容概述string 就是动态字符数组,一旦出现 ‘动态’ 二字,就不可能一开始就申请很大的内存,一定有它内部的申请策略;vector 的动态扩容策略可以参考我之前写的一篇博客:https://blog.csdn.net/WhereIsHeroFrom/article/details/1087502162、扩容尝试通过 VS2013 环境
分类: 其他 发布时间: 10-17 15:19 阅读次数: 0

夜深人静写算法(十六)- 高斯消元

文章目录一、算法概述1、算法简述a、线性方程组b、系数矩阵c、增广矩阵2、算法原理二、算法实现1、初等行变换a、选举交换b、全零跳过c、非零消零2、迭代消元3、解回归a、无解b、唯一解c、多解4、算法举例三、算法时间复杂度分析四、问题类型1、浮点数消元2、整数消元3、模线性方程组消元五、经典题解析一、算法概述1、算法简述a、线性方程组高斯消元,一般用于求解线性方程组 AX = B(或 模线性方程组AX mod P = B)的问题,以 5 个未知数,4 个方程为例,AX = B表示成 4x5 的矩阵
分类: 其他 发布时间: 10-17 15:19 阅读次数: 0

C++ errno

一、 errno 介绍二、错误信息输出三、错误码表查询
分类: 其他 发布时间: 10-17 15:19 阅读次数: 0

C++ 多线程 API 简介

本文主要介绍了一些C++中的多线程 API 的使用和原理,以及多线程类的封装,包括 线程的创建、挂起、恢复、销毁、使用等等
分类: 其他 发布时间: 10-17 15:19 阅读次数: 0

C++ 临界区

临界区CRITICAL_SECTION
分类: 其他 发布时间: 10-17 15:19 阅读次数: 0

C++ 自动锁

本文将利用 C++ 的 构造函数 和 析构函数,把 加锁 和 解锁 在一行代码中实现
分类: 其他 发布时间: 10-17 15:19 阅读次数: 0

C++ 线程类析构死锁问题

本文将介绍一种主线程主动 delete 子线程对象,导致主线程卡死的情况
分类: 其他 发布时间: 10-17 15:19 阅读次数: 0

夜深人静写算法(十七)- KMP

* 本文主要介绍字符串匹配算法(比如:查询一个字符串是否是另一个字符串的子串)
分类: 其他 发布时间: 10-17 15:19 阅读次数: 0

解题报告 (六) KMP

本文介绍一些KMP算法的常用题集
分类: 其他 发布时间: 10-17 15:19 阅读次数: 0

C++ const 全网最全总结(推荐)

C++ const 全网最全总结(推荐)
分类: 其他 发布时间: 10-17 15:19 阅读次数: 0

程序运维对接要素

本文主要介绍程序和运维对接时遇到的一些窘境和解决方案
分类: 其他 发布时间: 10-17 15:19 阅读次数: 0

java与python类对比

1. 构造器方法和变量super、self、this4. python代码实例class Test(): # 类属性 country = '中国' province = '陕西省' city = '西安市' readme = '我是父类类属性' # 成员属性 def __init__(self, name, age,...
分类: 其他 发布时间: 10-17 15:19 阅读次数: 0

HMM原理1

1. 简介隐马尔可夫模型(HMM)是关于时序的概率模型。假设我们有三种骰子(A、B、C),每种骰子都有6面,但是这三种骰子不都是均匀的,即骰子出现数字1-6的概率不同,这三种骰子每个都有自己的概率分布且三者概率分布不同。现假设我们掷了5次,选择的骰子为o = [A,C,B,A,C];出现的数字分别是n = [1,3,2,3,1],我们称n为观测序列,因为是我们可以用眼睛看到的,o为隐藏序列,因为...
分类: 其他 发布时间: 10-17 15:19 阅读次数: 0

HMM原理2:decoding问题解法(维特比算法,近似算法)

1. 前提概要我们知道HMM需要解决三个问题,其中的decoding问题需要用维特比算法,那么什么是维特比呢?维特比算法是一种动态规划算法,在学xgboost的时候我们使用了一个技巧,t+1时刻的预测值为t时刻的预测值加上t+1时刻的预测值。维特比有点相似。先来回顾下,维特比解决的什么问题,已知观测序列和参数,求隐藏序列。注意重点是求隐藏序列,所以问题的本质是找到隐藏序列。举个例子:盒子和球...
分类: 其他 发布时间: 10-17 15:19 阅读次数: 0

如何使用谷歌colab

打开网址:https://drive.google.com可以看到谷歌的云端网盘(就像百度网盘一样,存储文件等)点击左上角的新建,按下图操作:完毕后就相当于新创建了一个ipynb的文件结果如下所示:可以像jupyter notebook一样修改文件名,设置一些操作等等,在代码块执行代码如上图更改运行时类型,可以修改使用cpu、gpu还是tpu。点左上角的橙色co标志可以回到云...
分类: 其他 发布时间: 10-17 15:19 阅读次数: 0

pytorch入坑指南

1. 内存爆炸问题1.1 loss.item或 float(loss)首先附上主要代码下图接上图上面为定义的TextCNN模型,下图为主要的训练及预测测试集的过程下图接上图可以从第三张图片看到绿框部分有一个tr_loss = float(tr_loss)。在pytorch中涉及需要求导/梯度变量的计算将保存在内存中,如果不释放指向计算图形的指针,这些变量在循环训练中就会超出你内...
分类: 其他 发布时间: 10-17 15:19 阅读次数: 0

jupyter notebook相关问题

1. Password or token打开jupyter notebook,有时会出现下图:如果不记得密码,可以win+r后输入jupyter notebook password修改密码,连续输入两次密码即可修改,然后重启jupyter notebook,输入密码即可2. 在其他盘打不开jupyter notebook有时我们不需要win+r打开jupyter notebook,比如D...
分类: 其他 发布时间: 10-17 15:19 阅读次数: 0

Sublime text3修改tab键为缩进四个空格

在用sublime写python脚本时,如果混用空格和tab,可能会报错,因此可以设置将tab改为4个空格,以便统一格式。添加上图红框处代码即可# 设置保存时自动转换"expand_tabs_on_save": true,# tab键的大小"tab_size": 4,# 将tab键转换成空格"translate_tabs_to_spaces": true...
分类: 其他 发布时间: 10-17 15:19 阅读次数: 0

textcnn(从cnn的迁移)

1. 前提说明本博客主要为了介绍textcnn,因此首先需要了解cnn的基本知识2. 卷积层2.1 cnn一般来讲输入都是[batch, height, weight, in_channles]卷积核由三部分组成:kernel_size(上图中一个2×2的小方块)in_channels(与输入的in_channel一样,因为要对应相乘)out_channels可以理解成输出的...
分类: 其他 发布时间: 10-17 15:19 阅读次数: 0

pytorch相关问题

1. softmax问题pytorch中有两个softmax,一个在torch.nn中,一个在torch.nn.functional中,顾明思想,torch.nn.functional.softmax就是一个函数,直接使用即可,torch.nn.Softmax和torch.nn.RNN一样是个类,需要先初始化,然后赋值2. pytorch都有哪些损失函数pytorch的损失函数都在torch...
分类: 其他 发布时间: 10-17 15:19 阅读次数: 0