自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (1)
  • 收藏
  • 关注

翻译 NoSQL之图数据库

Neo4j---http://neo4j.com/developer/get-started/其他数据库,如何转化为图数据库1. RDBMS2. Key-Value3. 文档型数据库

2015-05-13 16:31:50 615 1

原创 查找Linux下导致MySQL查询被锁住的进程信息

1. 问题描述在数据库的使用过程中可能遇到锁表的情况,导致其他进程访问同样的表时出现超时的情况。具体表现为,在MySQL中使用如下命令SHOW PROCESSLIST显示结果为其中,Status列表示语句的查询状态,若值为Locked,则表示该查询被其他查询锁住了。Host表示发出查询语句的主机信息,如图所示,被锁住的查询在192.168.1.152主机的38292端口发出的T

2015-05-04 16:14:02 2194

原创 网络设置

vim /etc/sysconfig/network-scripts/ifcfg-eth0

2014-11-24 15:42:11 735

原创 YUM

1. 更新Yum源mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak #备份cd /etc/yum.repos.d/wget http://mirrors.163.com/.help/CentOS6-Base-163.repo #下载163提供的源mv CentOS6-Base-1

2014-11-24 15:14:33 511

原创 RSA数字签名机制

一. 简介私钥和公钥都可以加密和解密消息,且公钥加密的文本只有对应的私钥才能解密,私钥加密的文本也只有对应的公钥才能解密。二、基于RSA的消息传递机制A像B发送消息MSG发送方 A1. 对MSG使用周知的Hash函数计算出数字签名得到SIG2. 使用私钥对SIG进行加密得到CrypSIG3. 由于RSA加密算法复杂,因此使用简单的加密算法(密码为PWD)对MSG+C

2013-03-08 21:13:02 6643 3

原创 求1到n的所有正整数中1出现的次数

分析:设n的位数为L。1到n的所有整数中1的个数由以下(1)(2)两部分构成(1)长度小于L的所有正整数中的1           包含i个1的数有 C(i, L-1)*9^(L-1-i)个,其中包含0个1的情况中有这个数字是0的情况,不过不影响对1的计数。故长度小于L的所有正整数中1的个数为C(i, L-1)*9^(L-1-i)*i(2)长度为L且小于n的所有正整数中的1

2013-01-23 08:52:39 1008

转载 左旋转数组

定义字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部。 如把字符串abcdef左旋转2位得到字符串cdefab。思路:如左旋转2位,则先“反转”这2位,然后“反转”剩下的N-2位,最后“反转”全部N位。 /// /// 定义字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部。 /// 如把字符串abcdef左旋转2位得到

2013-01-11 18:54:06 484

原创

树是存储数据的一种重要数据结构。对一个数据集合进行维护的过程中涉及的操作有查找,更新(插入,删除)。树的优点在于不要求连续空间,更新复杂度小。常见的有:一、二叉搜索树    优点:实现简单    缺点:效率不够稳定,多次操作后可能导致树的结构不平衡。    改进:在插入和删除的过程中,加入调整策略使得树保持平衡(AVL)二、B树    一种多路搜索树,节点存储关键字,m个关

2013-01-07 14:28:53 421

原创 位运算

(1)如何判断一个整数是不是二的整数次幂if(n<0) m=-n;else m=n;if(m&(m-1)) return falseelse return true;(2)求整数二进制表示中1的个数分析:对于正数,直接不断右移计算,判断最低位是否为1,然后累加就行了。但对于负数则会出现死循环(见参考1)。参考1中的解决方法是用 2^k 对该整数的第k位是否是1进行检测,该方法

2013-01-03 11:00:25 371

原创 线段树

介绍    线段树是(1)平衡二叉搜索树 (2)每个节点的key是一个区间和存储与该区间相关的内容 (3)子节点的区间是对根节点区间的划分(二分)根据以上性质可以看出线段树的功能和用处。作为一颗搜索树,它具有插入或删除一个区间,更新某区间相关属性的功能。由于每个节点存储了某个区间的相关信息,线段树适于解决和区间统计有关的问题。比如某些数据可以按区间进行划分,按区间动态进行修改,而且还需

2012-12-31 15:55:08 715

原创 求二叉树的镜像

输入一颗二元查找树,将该树转换为它的镜像,即在转换后的二元查找树中,左子树的结点都大于右子树的结点。用递归和循环两种方法完成树的镜像转换。分析:(1)递归的思想很简单:如果左子树和右子树都已经完成了镜像转换,则直接将它们在根节点下的顺序交换一下,整棵树就完成了镜像转换;(2)循环:问题实际上要将每个节点的孩子的左右顺序交换一下,所以用广度优先的顺序遍历一遍就行,求解过程中需要队列作为辅

2012-12-30 10:39:20 2720

原创 在数组中查找和为定值的两个数

输入一个已经按升序排序过的数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的那个数字。要求时间复杂度是O(n)。如果有多对数字的和等于输入的数字,输出任意一对即可。例如输入数组1、2、4、7、11、15和数字15。由于4+11=15,因此输出4和11。设和为 sum,数组为a分析: (1)遍历一遍数组,当前遍历到a[i]。由于生序排列,可以二分查询sum-a[i]

2012-12-28 15:41:11 2078

原创 求链表倒数第k个节点

输入一个单向链表,输出该链表中倒数第k个结点。链表的倒数第0个结点为链表的尾指针。答案:先让一个指针p从头结点开始走k-1步,然后让q指向头结点,同时开始向后走,p到尾节点时,q指向倒数第k个节点。(注意长度小于k的情况)

2012-12-28 15:20:19 471

原创 求1+2+…+n

要求不能使用乘除法、for、while、if、else、switch、case等关键字以及条件判断语句(A?B:C)。解法:使用 && 或 || 的特性(1) p1 && p2,如果p1为假,则不用求p2的值,相当于if(p1) { p2;}(2) p1 || p2,如果p1为真,则不用求p2的值,相当于if(!p1) { p2;}故

2012-12-26 22:20:44 420

原创 二叉树中节点的最大距离

距离:将二叉树看着无环图,图的某一条路径的长度称为相应两点的距离分析:(1)如果这条路径通过根节点,这最大距离为 (h1-1)+(h2+1)+2=h1+h2 其中h1,h2分别为左右子树的高度;(2)如果这条路径不通过根节点,则问题转换为左子树距离和右子树距离的最大值。算法即使在上面两种情况中求最大值。算法采用递归的方式实现,递归过程中同时求子树的高度。例子:代

2012-12-24 21:06:19 445

原创 判断整数序列是否为二元查找树后序遍历的结果

输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果。如果是返回true,否则返回false。分析:根据后序遍历的特点可知,最后一个元素会把前面的元素分成两部分,前一部分小于它,后一部分大于或等于它。如果满足这个条件同时左右两部分也有这个性质,则该序列是二元查找树后序遍历的结果。整个过程是一个递归过程。对于一个长度小于等于2的序列,一定是某一二元查找树后序遍历的结果,返回tr

2012-12-23 20:38:27 619

原创 判断俩个链表是否相交

(1) 如果两链表有环,结果如何 (2) 如何求出相交的第一个节点分析:单链表的环一定出现在末尾。问题1:判断链表是否相交如果两个链表相交:(1)如果没有环,则一定有共同尾节点(2)如果有环,则用一对快慢指针p1、p2,两个指针一定能够相遇问题2:求相交的第一个节点存在上图所示三种情况,A: 求出环的起点(2个链表的环的起点一样),转换为情况CB: 求出环的

2012-12-21 20:24:51 376

原创 求满足条件的序列

根据上排给出十个数,在其下排填出对应的十个数,要求下排每个数都是先前上排那十个数在下排出现的次数。 上排的十个数如下: 如0,1,2,3,4,5,6,7,8,9则6,2,1,0,0,0,1,0,0,0分析:没有找到明显的规律或计算公式,考虑使用搜索,从左往右完成序列。将上下两个序列命名为A和B。对于下一个将要填充的位置p,(1)如果A[p]在前面没出现过,则枚举0~

2012-12-20 10:06:02 796

原创 查找最小的k个元素

1. 如果先对元素进行排序,复杂度为O(nlogn)2. 使用小根堆,复杂度O(n) (建堆复杂度为O(n))3. 使用类似快排的思想,平均复杂度为O(logn)代码:#include using namespace std;int partition(int* array, int i, int j) { int key = array[i]; int le

2012-12-18 21:58:25 373

原创 在二叉树中找出和为某一值的所有路径

路径的起点为根节点,如       10                                                /   \                                              5    12                                           /  \

2012-12-17 19:46:54 688

原创 求子数组的最大和

数组中为正负整数,子数组是数组中连续的一段数字构成的。要求复杂度O(n)。分析:从左到右累加,如果当前和为负数,则以下一个点为起点,重新开始累加,因为负数的和对后面的累加没有意义。累加的过程中,记录累加起点和最大值点,在下一次累加结束后更新。#include using namespace std;int maxSum(int* array, int len) { int

2012-12-15 22:30:11 316

原创 设计包含min函数的栈

min、push、pop的复杂度均为O(1)。分析:1)对于push操作, 需要考虑栈是否已满;对于pop操作,需要考虑栈是否为空。当栈满和栈空的时候push或pop操作是不成功的,需要给出提示。因此可以设计出如下的函数。bool push(int) 和bool pop(int&)2)对于min操作,需要考虑   a) 栈为空,此时,min操作无效   b) 如果在push

2012-12-14 20:22:34 368

原创 搜索二叉树转为有序双向链表

觉得有必要定期做一些简单算法题,这样做的好处至少有四:1. 提高代码能力2. 通过解释解决方案,锻炼表达能力3. 形成习惯,锻炼坚持和专注的能力4. 在这个过程中,积累博客的内容,以备不时之需,如某些公司招聘分析:搜索二叉树的特点是节点左边的所有后代小于该节点,左边的所有后代大于该节点。因此分别将左子树和右子树转换为有序双向链表,再和根节点连接起来就得到了整个搜索树

2012-12-12 21:18:08 907

原创 大规模正整数求中位数

1. 中位数定义(1)给定长度为len的数组item;(2)当len为奇数时,中位数为item中第round(len/2)+1大的数;(3)当len为偶数时,中位数为item中第round(len/2)和round(len/2)+1大的数。2. 分析(1)根据中位数的定义,很自然的想法是对item进行排序,然后二分查找第k大的数,但大规模数据排序太复杂。而且对于求中位数而言

2012-04-24 17:50:59 921

列车时刻表查询 vfp实现,附源代码

本程序用vfp实现,并有整个实现过程 功能: (1)可以查询两个站之间的所有列车及各个列车的详细信息。 (2)可以进行用户管理,添加用户,删除用户,修改密码等等(初始账户为admin, 密码admin)。

2009-06-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除