- 博客(208)
- 资源 (14)
- 收藏
- 关注
原创 python
python list 函数说明class list(object) | list() -> new empty list | list(iterable) -> new list initialized from iterable's items | | Methods defined here: | | __add__(...) | x.__add__(y
2016-05-20 21:43:34
525
原创 快排 快速排序
快排 快速排序/*description:快速排序参考<<编程珠玑>>author:Jasondate:20160517*/#include<stdio.h>#include<iostream>using namespace std;int show_data(int data[],int len){ cout<<"-----------------------"<<en
2016-05-17 12:38:45
726
原创 插入排序 优化
/*description:排序参考<<编程珠玑>>author:Jasondate:20160516*/#include<stdio.h>#include<iostream>using namespace std;int show_data(int data[],int len){ for (int i=0;i<len;i++) { cout<<da
2016-05-16 10:05:35
510
原创 一个数组中找出连续子向量的最大和 分治算法 扫描算法O(n)
算法设计艺术输入具有n个整数的向量data,输出向量的任意连续子向量的最大和, 当所有输入都是负数时,综合的最大子向量是空向量,总和为0; 例如输入10个数 31,-41,59,26,-53,58,97,-93,-23,84输出 data[2..6]的和 187 59+26+(-53)+58+97其中最高效的是扫描算法O(n) 分治算法O(n*logn) 基本算法是O(n^2)/*d
2016-05-15 11:52:51
1489
转载 得到每个osd的放置组个数
得到每个osd的放置组个数 Get the Number of Placement Groups Per Osdceph pg dump | awk ' /^pg_stat/ { col=1; while($col!="up") {col++}; col++ } /^[0-9a-f]+\.[0-9a-f]+/ { match($0,/^[0-9a-f]+/); pool=substr($0,
2016-05-13 12:35:34
767
转载 wget 爬虫工具 递归下载网址
wget -r -l 3-p -np -k http://xxx.com/xxxwget加上参数之后,即可成为相当强大的下载工具。wget命令详解wget -r -l 3-p -np -k http://xxx.com/xxx-r, --recursive(递归) specify recursive download.(指定递归下载)-k, --convert-links(转换链接) ma
2016-05-09 09:44:03
1494
原创 ntp配置本地服务器 ntp.conf
基本的配置文件 想配置本地时间服务器server 127.127.1.0 必须这样写# --- GENERAL CONFIGURATION ---server aaa.bbb.ccc.dddserver 127.127.1.0fudge 127.127.1.0 stratum 10# Drift file.driftfile /etc/ntp/drift我的例子 restr
2016-05-08 15:43:15
10551
转载 Linux环境下VI/VIM编辑文件时无权限保存的解决方法
Linux环境下VI/VIM编辑文件时无权限保存的解决方法在Linux环境下,如果直接使用VI/VIM命令编辑没有修改权限的文件时,保存的时候就会提示用户无法进行保存操作,一般的解决方法只能是关闭文件重新以sudo权限打开该文件编辑后再保存(前提是用户具有sudo权限)。其实,在VI/VIM模式下通过一些简单的命令,就能在不关闭当前文件的情况下达到保存文件的目的(感谢晓哲老师提供的方法):输入命令:
2016-04-28 15:26:29
1055
转载 shell远程执行 远程执行脚本
对于简单的命令: 如果是简单执行几个命令,则 ssh user@remoteNode "cd /home ; ls"基本能完成常用的对于远程节点的管理了,几个注意的点: 双引号,必须有。如果不加双引号,第二个ls命令在本地执行分号,两个命令之间用分号隔开登录到nodelist中的每个节点执行命令[asc16@cu02 zjhua]$ cat nodelistcu01cu02[asc
2016-04-14 16:18:02
3381
原创 字符串匹配 KMP算法
/*description:字符串匹配 KMP算法<<编程之法>> P134author: JasonZhoudate: 2016-03-29*/#include<iostream>#include <string>using namespace std;void calculate_next(string p,int next[]){ int len=p.length
2016-03-30 22:57:41
415
原创 redhat7 网络安装 Kickstart
自己安装过程,在/root 目录下会生成安装的该配置文件#version=RHEL7# System authorization informationauth --enableshadow --passalgo=sha512# Use CDROM installation mediacdrom# Use graphical installgraphical# Run the Setup
2016-03-25 11:10:04
1495
转载 和为定值的多个数 回溯减枝
/*description:输入两个整数n和sum,从数列1,2,3.......n 中随意取几个数,使其和等于sum,要求将其中所有的可能组合列出来。方法2: 回溯减枝这个问题属于子集和问题(也是背包问题)。本程序采用回溯法+剪枝,其中X数组是解向量,t=∑(1,..,k-1)Wi*Xi, r=∑(k,..,n)Wi,且若t+Wk+W(k+1)<=M,则Xk=true,递归左儿子(X1,X2
2016-03-15 10:54:08
846
转载 和为定值的多个数 (n问题转化为n-1问题)
/*description:输入两个整数n和sum,从数列1,2,3.......n 中随意取几个数,使其和等于sum,要求将其中所有的可能组合列出来。方法1:注意到取n,和不取n个区别即可,考虑是否取第n个数的策略,可以转化为一个只和前n-1个数相关的问题。如果取第n个数,那么问题就转化为“取前n-1个数使得它们的和为sum-n”,对应的代码语句就是sumOfkNumber(sum - n
2016-03-15 10:13:03
2423
原创 寻找 最小的k个数 线性选择算法 平均时间复杂度 O(n)
/*description:寻找最小的k个数有n个数,请找出最小的k个数要求时间复杂度尽可能低。方法1:全排序 时间复杂度O(n*logn)方法2:部分排序 维护一个容量为k的堆 O(n*logk)方法3:线性选择算法 时间复杂度 O(n) 本算法<<编程之法>>参考:https://github.com/julycoding/The-Art-Of-Programming-By
2016-03-13 11:28:50
1943
转载 最长回文子串 Manacher算法 时间复杂度O(N)
/*description:最长回文子串 Manacher算法。时间复杂度O(N) 最坏O(N^2)参考http://blog.163.com/zhaohai_1988/blog/static/2095100852012716105847112/http://articles.leetcode.com/longest-palindromic-substring-part-ii<<编程之
2016-03-11 20:35:19
640
原创 回文判断
/*description:回文判断直接处理:时间复杂度 O(n) 空间复杂度O(1)<<编程之法>>author: JasonZhoudate: 2016-03-11*/ #include <iostream>using namespace std;bool IsPalindrome(string str){ if (str.length()==0) {
2016-03-11 17:21:06
592
转载 字符串的全排列 递归
/*description:字符串的全排列来自<<编程之法>>author: JasonZhoudate: 2016-03-11*/ #include <iostream>using namespace std;static int count=0;//递归方法void CallAllPermutation(char* perm,int from,int to) {
2016-03-11 16:36:02
512
转载 bitmap排序
/*description:bitmap排序https://github.com/julycoding/The-Art-Of-Programming-By-July/blob/master/ebook/zh/06.07.mdauthor: JasonZhoudate: 2016-03-10*/ //定义每个Byte中有8个Bit位 #include<memory.h> #incl
2016-03-10 21:41:02
484
原创 字符串包含 位运算法
/*description: 长字符串s1,和短字符串s2 判断s2是否是s1的子集。 字母都是大写。 是输出true 否输出false使用位运算法,相当于每个位作为一个hash值。author: JasonZhoudate: 2016-03-10*/#include <iostream>using namespace std;bool Str
2016-03-10 19:26:24
1388
原创 fortran 语言使用
! fortran 统计时间 REAL time_begin,time_end CALL CPU_TIME (time_begin) CALL CPU_TIME (time_end) PRINT *, 'Time of operation was ', time_end - time_begin, ' seconds'fortran openmp使用4、常用到的两个函数:OMP_SET_N
2015-08-18 17:41:34
1841
转载 矩阵乘的MPI并行程序 MPI主从模式
转载:矩阵乘的MPI并行程序http://blog.csdn.net/zhuliting/article/details/7482996计算A * B = C, 其中矩阵A, B均为方阵,采用主从式程序设计模式,用户从键盘输入矩阵规模N,然后随机数给矩阵赋值。 我的并行化方法很简单,将矩阵A按行划分,由主进程将矩阵A散发给各个子进程,各子进程把计算结果发送给主进程汇总。 其中的矩阵都是用一维数组
2015-07-27 11:07:29
2580
原创 MPI程序 对等模式的 Jacobi迭代
/* 对等模式的MPI程序:test_8_1_2.c Jacobi迭代:迭代数据按列进行分割, 并假设一共有4个进程同时并行计算。时间:15.7.27Jason Zhou 热爱你所写下的程序,他是你的伙伴,而不是工具.*/#include "mpi.h"#include <stdio.h>#define totalsize 8#define mysize total
2015-07-27 10:11:05
3194
原创 MPI_Gathe MPI收集
/*MPI搜集所有进程(包括根进程)将sendbuf的数据传输给根进程;根进程按着进程号顺序依次接收到recvbuf发送与接收的数据类型相同;sendcount和recvcount相同非根进程接收消息缓冲区被忽略时间:15.7.26Jason Zhou 热爱你所写下的程序,他是你的伙伴,而不是工具.*/#include"mpi.h"#include<stdio.h>int main
2015-07-26 21:26:11
714
原创 MPI_Reduce mpi规约函数
/*mpi规约函数MPI_Reduce时间:15.7.26Jason Zhou 热爱你所写下的程序,他是你的伙伴,而不是工具.*/#include"mpi.h"#include<stdio.h>int main(int argc,char * argv[]){ int np,rank; MPI_Init(&argc,&argv); MPI_Comm_rank(
2015-07-26 20:09:58
3966
原创 最长公共子序列 (LCS,longest common subsequence problem) 动态规划
/*函数:最长公共子序列 (LCS,longest common subsequence problem) 动态规划解决该问题.算法见 算法导论 原书第三版 殷建平 P224一个给定的子序列就是将给定的一个或多个元素去掉之后的结果.最长公共子序列,求x,y长度最长的公共子序列.x={x1,x2...xm} y={y1,y2...yn}分情况:1.当xm=yn时,应该求解x(m-
2015-07-24 19:24:57
1188
1
原创 动态规划 钢条切割问题 两种方法 自底而上 自上而下的方法
/*函数:动态规划 解决钢条切割问题两种方法 自底而上 自上而下的方法 一般自底而上的方法没有递归调用的开销,效率好些长度 1 2 3 4 5 6 7 8 9 10价格 1 5 8 9 10 17 17 20 24 30寻找方法将长度问n的钢管切割,使得价格最高.动态规划的方法保存子问题的结果,不必每次
2015-07-23 20:27:09
1683
原创 二叉搜素树 二叉排序树 插入 删除 中序输出
/*函数:二叉搜素树 二叉排序树二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树node.left<node.key<node.right注意:
2015-07-21 17:05:57
601
转载 线性选择算法 .
在期望的线性时间内,可以找到顺序统计量,特别是中位数. 在最坏的情况下,时间依然是线性的.选择问题定义,实际上所有处理均可以推广到集合中包含重复数值的情形。输入:一个包含n个(不同的)数的集合A和一个数i,1<=i<=n。输出:元素x属于A,它恰大于A中其他的i-1个元素。1、最大值最小值针对一个序列取得最大和最小值均需要n-1次比较。这是一个下限,确定最大值或者最小值的算法可以看作各个元素之间
2015-07-19 22:06:39
1204
转载 桶排序 O(n) 线性时间
桶排序 (Bucket sort)或所谓的箱排序,是一个排序算法,工作的原理是将数组分到有限数量的桶子里。每个桶子再个别排序(有可能再使用别的排序算法或是以递归方式继续使用桶排序进行排序)。桶排序是鸽巢排序的一种归纳结果。当要被排序的数组内的数值是均匀分配的时候,桶排序使用线性时间(Θ(n))。但桶排序并不是 比较排序,他不受到 O(n log n) 下限的影响。假定:输入是由一个随机过程产生的[0
2015-07-19 21:01:18
567
原创 计数排序
/*函数:计数排序 当k=O(n)时,排序时间是O(n)核心思想对于每一个元素,确定小于x的元素个数a.利用这一个信息直接将该元素放到a+1位置上.需要都为正数.时间:15.7.16Jason Zhou 热爱你所写下的程序,他是你的伙伴,而不是工具.*/#include<iostream>using namespace std;int count_sort(int arr
2015-07-19 20:58:28
405
原创 计数排序
/*函数:计数排序 当k=O(n)时,排序时间是O(n)核心思想对于每一个元素,确定小于x的元素个数a.利用这一个信息直接将该元素放到a+1位置上.需要都为正数.时间:15.7.16Jason Zhou 热爱你所写下的程序,他是你的伙伴,而不是工具.*/#includeusing namespace std;int count_sort(int arr[
2015-07-16 11:09:31
433
原创 快速排序 随机化版本
/*函数:快速排序a[p..q-1] 中的每一个元素小于a[q]a[q+1..r] 中的每个元素均大于a[q]通过产生随机数的方法,保证等概率从候选项中选择主元.时间:15.7.15Jason Zhou 热爱你所写下的程序,他是你的伙伴,而不是工具.*/#include<iostream>#include<stdlib.h>#include <time.h>using na
2015-07-15 20:39:47
624
原创 fortran 语言总结
fortran 对大小写不敏感 语句以数字开始,表示语句的标号 fortran长项与数值计算 注意文件的后缀名/=和.ne.都是表示不等于规则: 保留字使用大写,如PROGRAM,READ,WRITE 程序的变量使用小写 fortran.f90 编译 [asc15@mic01 fortan]$ ifort fortran.f90INTERGRE REAL LOGICAL开始
2015-07-15 14:44:57
11075
3
原创 堆排序 维护最大堆 创建最大堆 排序最大堆
/*函数:堆排序创建最大堆维护最大堆排序最大堆通过数组存储二叉树时间:15.7.14Jason Zhou 热爱你所写下的程序,他是你的伙伴,而不是工具.*/#include<iostream>using namespace std;//交换两个元素int swap_data(int &a,int &b){ int tmp=a; a=b; b=tmp;
2015-07-14 11:26:00
1408
原创 最大子数组
/*函数:最大子数组 从一组数字总选取和最大的非空连续子数组 注意:只有当数组中含有负数时,才有意义算法复杂度 n*lognT(n)=2T(n/2)+O(n)如果从中选择任意两个(开始和结束点),复杂度为 n^2时间:15.7.12 Jason Zhou 热爱你所写下的程序,他是你的伙伴,而不是工具.*/#include <iostream>using namespace
2015-07-12 17:01:49
551
原创 冒泡排序
/*函数:冒泡排序 从小到大排序算法复杂度 n^2时间:15.7.12 Jason Zhou 热爱你所写下的程序,他是你的伙伴,而不是工具.*/#include <iostream>using namespace std;int bubble_Sort(int arr[],int len){ for (int i=0;i<len;i++) {
2015-07-12 14:52:17
410
原创 归并排序 递归和非递归实现
归并递归实现/*名称:归并排序 递归调用 自顶向下描述:将数组arr的从p到r进行排序.merge负责进行将两个已经排序的函数进行归并flag=0 从小到大排序flag=非0 从大到小排序算法复杂度: n*logn时间:15.7.11 Jason Zhou 热爱你所写下的程序,他是你的伙伴,而不是工具.*/#include<iostream>using nam
2015-07-12 14:17:56
616
原创 插入排序
/*名称:插入排序描述:将长度为length的数组,进行排序.flag=0 从小到大排序flag=非0 从大到小排序时间:15.7.11Jason Zhou 热爱你所写下的程序,他是你的伙伴,而不是工具.*/#include<iostream>using namespace std;int insertion_sort(int arr[],int length,int f
2015-07-11 17:14:56
478
转载 程序的通用性 固定数据类型的位数
有符号型64位整数,值域为:-9223372036854775808 .. 9223372036854775807。无符号型64位整数,值域为:0 .. 18446744073709551615。 表 1. 固定精度的数据类型 类型 定义 DWORD32 32 位无符号整数 DWORD64 64 位无符号整数 INT32 32 位有符号整数 INT64 64 位有符号整数 L
2015-06-15 15:12:10
764
ceph 原理 内容 总结
2016-05-23
pack2alpha1 背包问题9讲
2016-03-15
数学之美 吴军 pdf
2014-11-11
rsync源代码
2014-10-25
机器学习实战.pdf
2014-10-22
SecureCRTSecureFX 中文版
2014-10-18
西工大汇编实验 软件延时器
2013-12-01
西工大 汇编实验 实验四 排序程序
2013-12-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅