- 博客(10)
- 资源 (2)
- 收藏
- 关注
原创 Markdown入门手册
Markdown 入门手册Markdown 是一种轻量级的标记语言(makeup language),由 John Gruber 在2004年发布。Markdown 是在现在最流行的标记语言之一。利用 Markedown 编辑文本与利用 Word 编辑文本有非常大的区别,并不是通过不同利用菜单中给出的选项,通过手动选择实时地修改文中内容的格式,Markdown 是通过给文字加上特殊的字段来设置内容的格式,然后通过编译使得文字呈现不同的格式。因此从形式上来讲 Markdown 更加偏向于一种编程语言,更适
2020-12-29 20:38:04
442
原创 cuda 编程入门
1. 简介首先, 大家都知道在做深度学习以及科学计算时利用GPU算法,可以大规模的提高运算效率。我们首先来了解一下CPU与GPU的区别。上图为CPU 与GPU 架构上的区别,绿色部分可以理解为逻辑计算部分,黄色为控制区域, 而红色为存储区域,最明显的区别就是CPU拥有更多的存储,尤其是缓存,而GPU拥有更多的计算单元,简单来说单个GPU拥有更多的计算资源。而相对于比较简单的大规模运算,...
2018-12-25 17:00:00
537
原创 动态规划算法
目录1. 概述2. 算法的基本步骤3. 经典实例分析3.1 硬币找零3.2 袋鼠过河问题3.3 矩阵链乘法问题3.4 最长公共子序列3.5 最优二叉查找树1. 概述动态规划(dynamic programming)是通过组合子问题的解而解决整个问题。这里要特别注意动态规划算法与分治算法的区别。分治算法是指将问题划分成一些独立的子问题,递归地求解各个子问...
2018-12-15 11:43:29
632
1
原创 堆排序(Heap Sort)算法
目录 1、关于堆的相关定义2、关于堆排序算法的基本过程3、堆排序算法的代码实现1、关于堆的相关定义(二叉)堆数据结构是一种数组对象,其可视为一颗完全二叉树,树的每一层都是填满的,最后一层除外(最后一层从一个结点的左子树开始填)。表示堆得数组A是一个具有两个属性的对象:length[A]是数组中的元素的个数, heap_size[A]是存放在A中的堆元素个数。就是说虽然A[1...
2018-10-20 15:58:56
359
原创 斐波那契数列通项公式证明
目录 1.生成函数证明:2. 特征向量方法:1.生成函数证明:递归定义为:, , 其中, 假设生成函数为(1)其中 是第 项斐波那契数。有递推公式可知:则:因式分解: 泰特展开:则: (2)结合生成函数定义, 公式(1),可得:斐波那契数:2. 特征向量方法:设存在矩阵M使得...
2018-10-11 16:38:38
5518
5
转载 排序算法之Merge Sort
Merge Sort 根本思路(设计算复杂度为 T(n)):1) 序列一分为二 //计算复杂度为O(1);2) 子序列递归排序 //计算复杂度为 2*T(n/2);3) 合并有序子序列 // 计算复杂度为 O(n);因此可以得出 T(n) = 2*T(n/2) + O(n);则可得 T(n) = O(n*log(n))在归并排序中最核心的问题就是如何合并两个有序的序列,我们利用的方法是二路归并算法...
2018-03-14 15:36:50
506
转载 C++运算符重载
在C++中为了方便,提供运算符重载的功能,简单来说就是自定义运算符的功能。重载运算符是具有特殊名称的函数:保留字后节需要定义的操作符号,像任意其他函数一样,重载操作符具有返回类型和形参表。<返回类型说明符> operator <运算符号> (<参数表>){ <函数体>}可重载运算符双目运算符+(加法)、-(减法)、*(乘法)、/(除法)、%(取...
2018-03-12 14:02:56
213
转载 C++中& 的基本用法
1. & 二进制的位与运算。例如 二进制数字 100 & 111 = 100;2. & 可以表示取地址。例如void main(){ int a = 20; int *p = &a;} 以上均与C语言中的用法相同。 3. &在C++中还可以作为引用 1)引用就是为某一变量设置别名,对引用的操作等效于对变量本身操作; 2)引...
2018-03-09 00:38:29
13136
9
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人