- 博客(17)
- 资源 (3)
- 收藏
- 关注
原创 初始化堆的时间复杂度证明O(N)
对于一棵如图所示的完全二叉树,树的高度为H。在构建初始堆的过程中,从中间元素自底向上的构造,在最坏的情况下每一次该元素都要与左右孩子比较并交换,交换后的位置同样还要再与孩子比较并交换(如果有孩子的话),直至该节点该值达到叶子节点,那么很明显该节点最多需要比较并交换的次数为该节点当前的高度值(令叶子节点的高度值为0)。最坏的情况下是从非叶叶子节点开始比较,并且每次比较的时都需要进行一个递归的交换,并且最终交换到叶子节点,对于每一个节点而言最坏的操作数等于当前节点所处于的高度。下面是详细的推导过程那么
2020-09-15 16:03:21
2309
原创 二分查找算法
什么是查找算法对于一个数组或者是链表,如果想要知道其中是否包含我们需要的target值,可以进行一次线性的查找,每个元素逐个比对来确定是否包含target,这就是一个最简单的查找算法。时间复杂度为O(N)。什么是二分查找算法假设给定的数组中的元素是一个有序的状态,比如是单调不递减或者是单调不递增的状态,对于这种情况可以使用二分查找来完成。即二分查找需要满足两个条件:数组存储元素有序,单调性二分查找的具体过程以数组[0,1,2,3,4,5,6]为例。我们需要查找的目标值target是为2,具
2020-09-06 18:07:51
3508
2
原创 (五)GPU编程
查看电脑中GPU的型号lspci | grep -i nvidiayum install pciutils #安装lspic的命令nvidia-smi #一款更好用的命令nvidia-smi -Lcuda的安装(略)查看cuda的版本nvcc -Vcuda简介在GPU上运行程序就要使用cuda,CUDA是NVIDIA公司所开发的GPU编程模型,它提供了GPU编程的简易接口...
2019-06-19 16:51:01
695
原创 (四)OpenMP的使用
OPENMP程序的编译g++ -fopenmp test.cpp -o openmp基本操作#pragma omp parallel for在该语加在for循环前面,这样for循环中的内容就会开启多线程执行。但是只适用于多线程中拆分循环中的内容没有影响是可以。如对于如下操作,就会出问题,sum的值会因为多线程的执行的随机性而出现错误。sum = 0#pragma omp paral...
2019-06-19 16:49:10
636
原创 (三)MPI库的简单使用
MPI_Init(&argc, &argv);被第一个调用的MPI函数用于并行环境初始化,其后面的代码到MPI_Finalize之前的代码可以在每个进程都被执行一次。MPI_Finalize();退出MPI系统,除了主进程(rank==0)其他所有的进程都必结束。但是经测试该函数后面的代码还是会执行,why?MPI_Comm_rank(MPI_COMM_W...
2019-06-19 16:47:35
2940
原创 (二)ubuntu下安装MPI库
源码方式安装下载源码,我下载的是mpich-3.3.tar.gz。tar xzvf mpich-3.3.tar.gz,解压安装包。cd mpich-3.3/,进入到解压的目录中。./configure --prefix=/usr/local/mpich-3.3 --disable-fortran,配置编译环境,为它选择一个安装路径,由于不使用fortran语言,故加上disable选项。...
2019-06-19 16:45:10
3063
5
原创 (一)共轭梯度算法
共轭梯度算法是干什么?共轭梯度算法是一种迭代算法,在一次次的对待中最终求得结果,可以类比牛顿迭代法。共轭梯度算法主要用在求解矩阵方程,也就是求解n元一次方程组,如Ax=b的解x。比一般的迭代算法都要快,最多迭代n次就能出结果。基本思想共轭梯度法是属于最小化类的迭代方法。为了求解Ax = b这样的一次函数,可以先构造一个二次齐函数f(x)=12xTAx−bTxf(x) = \frac{1}{...
2019-06-19 16:37:26
36997
7
原创 py-faster-rcnn文件读取
py-faster-rcnn文件读取环境:caffe,python版本;[代码链接]<https://github.com/rbgirshick/py-faster-rcnn>本篇文章主要介绍rbg大神的faster-rcnn模型进行训练时数据库读取与生成部分。faster-rcnn代码的主要目录结构如下:├── caffe-fast-rcnn 本次项目所用...
2018-09-04 13:39:35
488
原创 caffe人脸检测
基于python和alexnet模型实现的人脸检测系统环境:ubuntu16.04 内核:4.15.0-29-generic首先要配置好caffe的环境,caffe环境的搭建就不在这里说了 下面开始进入正题:正式实现人脸检测功能1 创建工程目录 1.创建一个目录face_detect,用来存储此次工程项目,最好创建在/home目录下 2.在face_detec...
2018-08-03 11:12:11
1653
原创 linux特殊权限管理
特殊权限管理ACL权限 简介: ACL是Access Control List的缩写,主要的目的是在提供传统的owner,group,others的read,write,execute权限之外的局部权限设定。ACL可以针对单个用户,单个文件或目录来进行r,w,x的权限设定,特别适用于需要特殊权限的使用情况。 ACL主要针对用户(user),用户组(group),掩
2016-07-07 09:42:41
376
原创 Linux用户和用户组的管理
用户和用户组的管理用户管理简介 越对服务器安全性能高的服务器,越要建立合理的用户权限等级制度和服务器操作规范。 在linux中主要通过用户配置文件来检查和修改用户信息。 概念: 初始组:就是指这个用户一登陆就立刻拥有这个用户组的相关权限,每个用户组的初始组只能有一个,一般就是和这个用户的用户名相同的组名作为这个用户初始组。 附加组:指用户
2016-07-04 14:40:07
423
并行计算共轭梯度算法
2019-06-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人