- 博客(8)
- 收藏
- 关注
原创 C++学习 之 模板
漫漫C++路C++是一种两层次语言。C++的模板设计之初是为了实现泛型编程,但后来发现模板的能力远不止泛型编程,C++模板是图灵完备的,理论上来说C++模板可以执行任何计算任务,但因为模板是编译期间计算的,其能力受编译器实现的限制,因而衍生出模板元编程。C++执行编译计算的代码称为静态代码,静态代码由模板元编程和预处理的宏组成,预处理的宏也能进行部分编程,因而称为宏元编程。C++执行期间的代码称为...
2019-10-11 19:58:58
239
原创 ShuffleNet算法初学
ShuffleNet论文:ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices论文链接:https://arxiv.org/abs/1707.01083group conv 与 channel shuffle分组卷积(group conv)将卷积输入从通道数上等分成多个组,相应...
2019-08-05 16:14:06
179
原创 TensorRT入门
初学TensorRT简介TensorRT是NVIDIA官方推出的高性能DNN推理软件库,旨在将Caffe、TensorFlow、PyTorch等主流框架上训练的模型在GPU上完成部署优化。深度学习框架推理的缺陷原生框架一般对fp16/int8支持不佳;由于有时延要求,数据batch较小,难以让GPU满载。TensorRT加速原理支持fp16/int8,对数值进行精读转换和...
2019-08-05 14:07:38
650
原创 基础指南 之 堆排序
堆排序排序算法主要分三大类,交换排序有冒泡排序和快速排序,插入排序有简单插入排序和希尔排序,选择排序有堆排序和简单选择排序。其中快速排序和堆排序的时间复杂度为 o(nlogn),但这两种排序都不稳定(相等的元素在排序前后的顺序是否会发生改变)。堆排序是一种选择排序,其原理是在序列上建立大顶堆(或者小顶堆),堆顶元素便是序列的最大值(或者最小值),将堆顶的元素放到堆尾部,再调整除堆尾部元素的其他...
2019-07-25 14:42:15
137
原创 基础指南 之 背包问题
背包问题 背包问题是动态规划部分的代表部分,主要有 0-1 背包、完全背包等。0-1 背包0-1背包中每种物品只有一件,故每种物品要么装进背包,要么没有装进背包,故曰 “0-1”。问题描述:n 种物品,每种物品只有一件,每种物品的重量为 wieght[i],每种物品的价值为 value[i] ,背包的总容量为 v ,求背包中能装入物品的最大价值总和。动态规划:dp[i][j]...
2019-07-24 20:07:35
128
原创 基础指南 之 归并排序
归并排序两个有序数组的归并数组 a 和数组 b 都是非降序的数组,数组长度分别为 m 和 n ,将两个数组合并成一个升序数组 c ,程序如下所示:void merge(int * a,int m,int * b,int n,int * c){ int i,j,k; i=j=k=0; while(i<m && j<n) { ...
2019-07-24 19:26:51
168
原创 基础指南 之 快速排序
**快速排序** 快速排序是求职面试过程中问得最多的排序算法,相较于冒泡、插入排序等,快排复杂一些,而相较于堆排序等较难的排序,它又相对简单一些,下面开始介绍快排吧。快排是利用分治的思想,从序列中取出一个基准元素,将整个序列划分成两部分,保证左半部分元素均小于(或等于)基准元素,右半部分元素均大于(或等于)基准元素,再将左右两部分子序列分别按照这个思路,取基准元素,将子序列的元素分成两...
2019-07-24 19:12:03
345
原创 git 入门总结
git 入门欢迎使用 git你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。开始吧一. 初始化仓库:首先,git init(会产生.git文件夹,包含git仓库的骨干文件)。然后,向仓库中添加并编辑文件。第三步,git add newfilename(添加新增文件到...
2019-07-18 19:47:31
165
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人