- 博客(21)
- 资源 (5)
- 收藏
- 关注
转载 [ACM学习心得]关于sync_with_stdio(false);
在网上查看别人的ACM代码时,发现别人输入输出语句用的总是scanf与printf,有点不解,还以为他们用的都是C语言,而非C++,但今天做的一道题(Sort):发现与网上的其他高手使用完全相同的方法,使用scanf及printf的代码提交后Accepted,而使用cin及cout的却Time Limit Exceeded,代码如下:代码一(Accepted):#include
2015-05-23 15:44:44 556
转载 c语言函数大全
函数名: strcat 功 能: 字符串拼接函数 用 法: char *strcat(char *destin, char *source); 程序例:#include #include int main(void) { char destination[25]; char *blank = " ", *c = "C++", *Borland = "Borland"; strcpy(destina
2015-05-21 15:58:10 692
转载 常见hash原理
散列表,它是基于快速存取的角度设计的,也是一种典型的“空间换时间”的做法。顾名思义,该数据结构可以理解为一个线性表,但是其中的元素不是紧密排列的,而是可能存在空隙。散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。
2015-05-21 15:55:30 626
原创 HIT教务处登陆页面
# -*- coding:utf-8 -*-import requestsimport binasciiimport reclass RAPException(Exception): def __init__(self, value): self.value = valueclass RAPCaptchaException(RAPException):
2015-05-14 20:39:41 1457
转载 mysql 用户管理和权限设置
用户管理mysql>use mysql;查看mysql> select host,user,password from user ;创建mysql> create user zx_root IDENTIFIED by 'xxxxx'; //identified by 会将纯文本密码加密作为散列值存储修改mysql>rename
2015-04-15 21:25:29 348
转载 数据库索引的作用和优点缺点
为什么要创建索引呢?这是因为,创建索引可以大大提高系统的性能。 第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。 第二,可以大大加快 数据的检索速度,这也是创建索引的最主要的原因。 第三,可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。 第四,在使用分组和排序 子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。 第五,通过使用索引
2015-03-16 17:40:25 355
原创 外键的好处
外键是数据库一级的一个完整性约束,就是数据库基础理论书中所说的“参照完整性”的数据库实现方式。 外键属性当然是可以去掉的,如果你不想再用这种约束,对编程当然不会有什么影响,但相应的录入数据的时候就不对录入的数据进行“参照完整性”检查了。 例如有两个表 A(a,b) :a为主键,b为外键(来自于B.b) B(b,c,d) :b为
2015-03-16 17:04:11 7664 1
转载 主键和外键
一、什么是主键、外键:关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键 比如 学生表(学号,姓名,性别,班级) 其中每个学生的学号是唯一的,学号就是一个主键 课程表(课程编号,课程名,学分) 其中课程编号是唯一的,课程编号就是一个主键 成绩表(学号,课程号,成绩) 成绩表中单一一个属性无法唯一标识
2015-03-16 16:59:38 548
转载 数据库索引
基本特点建立索引的目的是加快对表中记录的查找或排序。为表设置索引要付出代价的:一是增加了数据库的存储空间,二是在插入和修改数据时要花费较多的时间(因为索引也要随之变动)。数据库索引就是为了提高表的搜索效率而对某些字段中的值建立的目录 。创建索引可以大大提高系统的性能。第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。第二,可以大大加快数据的检索速度,这也是创建索引
2015-03-16 16:31:08 299
转载 数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器
第1章 引言随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题。对于一个大型的互联网应用,每天几十亿的PV无疑对数据库造成了相当高的负载。对于系统的稳定性和扩展性造成了极大的问题。通过数据切分来提高网站性能,横向扩展数据层已经成为架构研发人员首选的方式。水平切分数据库,可以降低单台机器的负载,同时最大限度的降低了了宕机造成的损失。通过负载均衡策略,有效的降低了单台机器
2015-03-16 14:46:57 678
原创 二叉树的先序,中序和后序遍历的非递归算法
很明显,先序遍历是最简单的算法,先压栈右孩子,再压栈左孩子就搞定了。class Solution {public: vectortree; vector preorderTraversal(TreeNode *root) { stacknode; if(root==NULL) return tree;
2014-12-11 16:11:02 568
转载 三十分钟掌握STL
这是本小人书。原名是《using stl》,不知道是谁写的。不过我倒觉得很有趣,所以化了两个晚上把它翻译出来。我没有对翻译出来的内容校验过。如果你没法在三十分钟内觉得有所收获,那么赶紧扔了它。文中我省略了很多东西。心疼那,浪费我两个晚上。译者:karycontact:karymay@163.netSTL概述STL的一个重要特点是数据结构和算法的分离。尽管这是个简单的概念,但这种分离
2014-12-06 20:20:13 380
原创 map的使用
STL中的map容器是我经常用的,但是因为map跟别的容器不太一样,每次用的时候对于map中元素的插入方式总是忘却,故而发篇博文,提醒我也提醒所有人map容器的三种插入方式: 第一种:用insert函数插入pair数据。下面举例说明:#include #include #include using namespace std;int main(){
2014-12-06 20:16:03 389
原创 C++ new 的使用
动态分配内存new关见字1. 全局对象和局部对象的生命期都是严格定义的,程序员不能以任何方式改变他们的生命期。但是有时候需要 创建一些生命期能被程序员控制的对象,他的分配和释放可以根据程序运行中的操作来决定。这时就需要使 用new操作符了。2. 动态分配内存,将从堆中分配内存,动态分配的存储区是在运行时确定的,动态分配的存储区可以随着需求 而自动扩大.3. 局部变量
2014-12-03 20:46:06 394
转载 C++中堆和栈内存分配
一个由C/C++编译程序占用内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数参数值,局部变量值等。其操作方式类似于数据结构中栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中堆是两回事,分配方式倒是类似于链表。3、全局区(静态区)(static)—,全局变量和静态变量存储是放在一
2014-12-03 20:28:01 323
原创 字符串中最长子串的问题
class Solution {public: int lengthOfLongestSubstring(string s) { if(s.length()==0) return 0; string str=s.substr(0,1); int max=str.length(); for(int i=
2014-10-22 13:30:15 457
原创 用栈对二叉树进行中序遍历
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */c
2014-10-17 13:18:05 662
原创 最大连续子序列的和
class Solution {public: int maxSubArray(int A[], int n) { int sum=0; int max=0; int start,end; for(int i=0;imax){ max=sum; } } if(max==0){ int count=A[0]; for(int i=1;i<n;i++){ if(count<A[i]) count=
2014-10-16 00:19:50 361
原创 LeetCode Single Number
zhclass Solution {public: int singleNumber(int A[], int n) { int temp=A[0]; for(int i=1;i temp=temp^A[i]; } return temp; }};
2014-10-13 11:34:28 261
转载 c/c++的|、||、&、&&、异或、~、!运算
位运算 位运算的运算分量只能是整型或字符型数据,位运算把运算对象看作是由二进位组成的位串信息,按位完成指定的运算,得到位串信息的结果。位运算符有: &(按位与)、|(按位或)、^(按位异或)、~ (按位取反)。 其中,按位取反运算符是单目运算符,其余均为双目运算符。 位运算符的优先级从高到低,依次为~、&、^、|, 其中
2014-10-13 11:26:56 479
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人