自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(92)
  • 资源 (2)
  • 收藏
  • 关注

原创 vi常用命令

VI中的多行删除与复制 方法一:单行删除,:1(待删除行)d多行删除 ,:1,10d 方法二:光标所在行,dd光标所在行以下的N行,Ndd 方法1:光标放到第6行,输入:2yy光标放到第9行,输入:p此方法适合复制少量行文本的情况,复制第6行(包括)下面的2行数据,放到第9行下面

2015-11-17 11:18:13 529

原创 随便写的sql语句

随便写的简单的sql语句,贴上来便于以后回顾mysql -uroot -p; #输入密码,登录数据库show databases; #查看所有数据库create database zqs_db character set utf8; #创建数据库并设置编码为utf8use zqs_db; #选择数据库show tables; #查看当前数据库中所有的数据表#创建数据表c

2015-08-31 10:24:05 686

原创 MySQL基础

MySQL的相关概念介绍MySQL 为关系型数据库(Relational Database Management System), 这种所谓的"关系型"可以理解为"表格"的概念, 一个关系型数据库由一个或数个表格组成, 如图所示的一个表格:表头(header): 每一列的名称;列(row): 具有相同数据类型的数据的集合;行(col): 每一行用来描述某个人/物的具体信息;

2015-08-30 17:30:28 556

原创 MySQL数据类型

1、整型MySQL数据类型含义(有符号)tinyint(m)1个字节  范围(-128~127)smallint(m)2个字节  范围(-32768~32767)mediumint(m)3个字节  范围(-8388608~8388607)int(m)4个字节  范围(-214

2015-08-30 17:18:31 567

原创 MySQL索引优缺点

一、为什么要创建索引呢(优点)?创建索引可以大大提高系统的性能。第一,   通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。第二,   可以大大加快数据的检索速度,这也是创建索引的最主要的原因。第三,   可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。第四,   在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。第

2015-08-30 11:21:27 2900

原创 Memcahce和Redis比较

一、Memcachememecache 把数据全部存在内存之中,断电后会挂掉,数据不能超过内存大小redis有部份存在硬盘上,这样能保证数据的持久性。Memcache使用了Slab Allocator的内存分配机制:按照预先规定的大小,将分配的内存分割成特定长度的块,以完全解决内存碎片问题。memcache 存在内存中,分配的内存满后,会按一定的规则删除一些k/v数据,重启后自

2015-08-20 22:10:50 621

原创 面试题总结

第一波cookie禁用后session是否还能使用?(回答:可以)接着问:可以通过哪些方式?解释__call(),__construct(),__isset(),__get()获取中文字符串的长度,实现截取中文字符串如何设计数据库垂直分割和水平分割依据是什么说出常用的数据库索引,并作相应的解释说出常用的数据库引擎接着问:MyISAM和INNODB的区别然后是一个读程序写结果(这道题

2015-08-18 22:42:07 2676

原创 常用数据结构_排序_查找练习

1冒泡排序#include//打印void print(int r[],int length){ if(r == NULL)return; int i; for(i=0;i<length;i++){ printf("%3d",r[i]); } printf("\n");} //交换 数值void swap(int r[],int i,int j){ int tmp =

2015-08-14 22:53:28 1798

原创 《剑指offer》练习

3二维数组查找#includetypedef int ElemType[][4];// 二维数组matrix中,每一行都从左到右递增排序,// 每一列都从上到下递增排序bool find(ElemType r,int rows,int cols,int key){ bool isFound = false; if(r!=NULL && rows>0 && cols>0){/

2015-08-14 22:42:08 943

原创 《程序员面试宝典》练习

单链表排序、逆置、查找中间元素#include#include//定义数据结构typedef struct Node{ int data; struct Node *next;} Node,*P_Node;//打印void print(P_Node L){ P_Node p = L->next; while(p){ printf("%3d",p->data)

2015-08-14 22:23:41 670

原创 数据库调优

1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: 

2015-08-09 08:42:39 502

原创 面试相关知识点

简单的整理了下面试相关的知识方便系统的学习和复习,当然整理的不全面也可能会存在一些错误所以仅供大家参考,如果你有好的关于面试的资源或网址请给我留言发一份我们共同学习共同进步。面试知识汇总,献给正在准备找工作的你!注: 链接将会跳到我的个人网站上基础知识数据结构&算法操作系统数据库计算机网络设计模式Linux专业知识即将发布,完善中

2015-08-09 08:24:29 559

原创 常见的HTTP状态码(HTTP Status Code)说明

作为一个互联网开发人员对于一些服务器返回的HTTP状态的意思都必须是了如指掌的,只有将这些状态码一一弄清楚,工作中遇到的各种问题才能够处理的得心应手。好了,下面就让我们来了解一下比较常见的HTTP状态码吧!2开头 (请求成功)表示成功处理了请求的状态代码。200   (成功)  服务器已成功处理了请求。 通常,这表示服务器提供了请求的网页。 201   (已创建)  请求成功并

2015-08-08 22:25:27 3750

原创 完全二叉树的性质

性质1:在二叉树上的第i层上至多有2^(i-1)个节点(i>=1)性质2:深度为k的二叉树至多有(2^k)-1个节点(k>=1)性质3:n0、n1、n2分别代表节点的度数为0、1、2。n为总结点数n0 = n2+1;n=n0+n1+n2分支总线=n-1=n1+2n2性质4:具有n个节点的完全二叉树的深度为 └log2n┘+ 1性质5:如果对一颗有n个

2015-08-08 17:53:11 10328 1

原创 定义和使用结构体变量

C语言允许用户自己建立由不同类型数据组成的组合类型的数据结构,称为结构体(structure)。在其他高级语言中成为"记录"(record)。声明结构体类型的一般形式为:struct 结构体名称{ 成员列表}定义结构体有以下3种方式:1.先声明结构体,在定义结构变量//声明结构体类型Studentstruct Student { int num;

2015-08-07 08:54:09 924

原创 范师兄的面经

新浪php splautoloadfile_get_contents判断两个数组$a、$btp 和Smarty的区别linux  命令查看Apache打开的端口apache和nginx区别...京东笔试大题:输入整数n,求m,m>9,m中各个数位的乘积=n的最小整数;如n

2015-08-06 21:51:02 981

原创 PHP中的CURL

curl 就是模拟浏览器请求的,比如获取获取远程的网页,虽然可以使用file_get_content函数 但是 curl支持cookie  自定义浏览器类型,来源 ip等等。使用举例:

2015-08-03 20:43:33 592

原创 PHP常用算法和数据结构示例

<?php/** * Created by PhpStorm. * User: qishou * Date: 15-8-2 * Time: 上午9:12 */header("content-type:text/html;charset=utf-8");$arr = array(3,5,8,4,9,6,1,7,2);echo implode(" ",$arr)."";//----

2015-08-02 17:03:30 10567

原创 PHP无限级分类实现(递归+非递归)

<?php/** * Created by PhpStorm. * User: qishou * Date: 15-8-2 * Time: 上午12:00 *///准备数组,代替从数据库中检索出的数据(共有三个必须字段id,name,pid)header("content-type:text/html;charset=utf-8");$categories = array(

2015-08-02 09:04:20 22984 5

原创 PHP小例子

这是最近看的面试题总结的小例子,没事的时候可以看看<?php/** * Created by PhpStorm. * User: qishou * Date: 15-8-1 * Time: 下午8:39 */header("content-type:text/html;charset=utf-8");//截取中文字符$str = "中国你好,hello world !";

2015-08-01 22:54:04 2164

原创 MySQL常用的索引

索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存。如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录。表里面的记录数量越多,这个操作的代价就越高。如果作为搜索条件的列上已经创建了索引,MySQL无需扫描任何记录即可迅速得到目标记录所在的位置。如果表有1000个记录,通过索引查找记录至少要比顺序扫描记录快100倍。 索引的类

2015-08-01 10:53:13 767

翻译 MYSQL索引结构原理、性能分析与优化

第一部分:基础知识索引官方介绍索引是帮助MySQL高效获取数据的数据结构。笔者理解索引相当于一本书的目录,通过目录就知道要的资料在哪里, 不用一页一页查阅找出需要的资料。唯一索引(unique index)强调唯一,就是索引值必须唯一。创建索引: create unique index 索引名 on 表名(列名); alter table 表名 add un

2015-08-01 10:35:15 550

原创 Linux 硬链接和软连接的区别

(1)软链接可以跨越文件系统 ,硬链接不可以 。实践的方法就是用共享文件把windows下的 aa.txt文本文档链接到linux下/root目录下 bb,cc . ln -s aa.txt /root/bb 链接成功 。ln aa.txt /root/bb 失败 。 (2)关于 I节点的问题 。硬链接不管有多少个,都指向的是同一个I节点,会把 结点连接数增加 ,只要结点的链接

2015-07-29 21:19:02 664

原创 RESTful

一种软件架构风格,设计风格而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。简单来说,一旦定义好了要暴露的资源,你可以定义资源上允许的操作,以及这些操作和你的API的对应关系:GET /tickets # 获取ticket列表GET /tickets/12 # 查看某个具

2015-07-28 22:33:44 335

原创 MySQL优化技巧

mysql 数据库优化 包括 a.表的设计合理化(符合3NF) b.添加适当索引(index[4种:普通索引 主键索引 唯一索引unique  全文索引]) c.分表技术(水平分割,垂直分割) d.读写[写:update/delete/add]分离 e.存储过程[模块化编程 可以提高速度] 数据库的三层结构 orale MySQL db2 sql server

2015-07-28 22:08:17 860

原创 网站高并发大流量访问的处理及解决方法

1.硬件升级普通的P4服务器一般最多能支持每天10万独立IP,如果访问量比这个还要大, 那么必须首先配置一台更高性能的专用服务器才能解决问题 ,否则怎么优化都不可能彻底解决性能问题。 2.负载均衡它是根据某种负载策略把请求分发到集群中的每一台服务器上,让整个服务器群来处理网站的请求。 公司比较有钱的,可以购买专门负责负载均衡的硬件(如:F5),效果肯定会很好。对于大部分公司,会选择廉价有效的方法扩

2015-07-28 21:29:58 12048

原创 MongoDB

MongoDB简介MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品。是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对

2015-07-28 18:15:47 573

原创 NoSQL是什么?

定义 对于不了解NoSQL的人都会认为NoSQL为No SQL,即不是SQL。但是这种理解是错误的,NoSQL应该是Not Only SQL,翻译过来为不仅仅是SQL。从这个翻译中我们可以看出来,NoSQL仍然还是SQL。 NoSQL泛指这样一类数据库和数据存储,它们不遵循经典关系型数据库(RDBMS)原理,且常与Web规模的大型数据集有关。NoSQL数据库有以下优点: 1 简

2015-07-28 17:57:39 945

原创 GET和POST的区别

在讲GET和POST区别之前我们需要先了解HTTP。什么是 HTTP? 超文本传输协议(HTTP)的设计目的是保证客户机与服务器之间的通信。 HTTP 的工作方式是客户机与服务器之间的请求-应答协议。 web 浏览器可能是客户端,而计算机上的网络应用程序也可能作为服务器端。 举例:客户端(浏览器)向服务器提交 HTTP 请求;服务器向客户端返回响应。响应包含关于请求的状态信息以

2015-07-28 16:47:40 473

原创 PHP获取用户的真实IP

前几天面试的时候被问到通过$_SERVER['SERVER_ADDR']获取到的IP地址会有什么问题?那肯定是“如果用户通过的是 代理 获取不到真正的ip地址”。还好面试官没有进一步追问。那如何获取用户的真实IP地址呢?分析 现在许多用户并不是直接拨号上网,而是通过路由器或其他代理等方式访问网络。如果我们想要获取用户客户端的真实ip地址,就不能直接使用$_SERVER['SERVER_ADDR'

2015-07-28 11:47:01 5047 4

原创 常用查找算法

代码#include<stdio.h>#include<time.h>#include<stdlib.h> /*=================顺序表的查找========================*///顺序表的查找 :平均O(n) 最好O(1) 最差O(n); int SqSearch(int r[],int n, int key){ int i; for(i=0

2015-07-27 09:38:34 405

原创 八大排序总结

各种排序的稳定性,时间复杂度和空间复杂度总结: 我们比较时间复杂度函数的情况:                             时间复杂度函数O(n)的增长情况所以对n较大的排序记录。一般的选择都是时间复杂度为O(nlog2n)的排序方法。时间复杂度来说:(1)平方阶(O(n2))排序  各

2015-07-26 20:36:30 738

原创 八大排序-快速排序

基本思想 1)选择一个基准元素,通常选择第一个元素或者最后一个元素, 2)通过一趟排序讲待排序的记录分割成独立的两部分,其中一部分记录的元素值均比基准元素值小。另一部分记录的 元素值比基准值大。 3)此时基准元素在其排好序后的正确位置 4)然后分别对这两部分记录用同样的方法继续进行排序,直到整个序列有序。(a)一趟排序的过程 (b)排序的全过程 算法实现#

2015-07-26 20:30:40 618

原创 八大排序算法-归并排序

基本思想 归并(Merge)排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。归并示例: 合并方法设r[i…n]由两个有序子表r[i…m]和r[m+1…n]组成,两个子表长度分别为m、n-m。 j=m+1;k=i;i=i; //置两个子表的起始下标及辅助数组的起始下标 若i>m 或j

2015-07-26 17:32:29 466

原创 八大排序算法-堆排序

基本思想 堆排序是一种树形选择排序,是对直接选择排序的有效改进。堆的定义如下:具有n个元素的序列(k1,k2,…,kn),当且仅当满足 时称之为堆。由堆的定义可以看出,堆顶元素(即第一个元素)必为最小项(小顶堆)。 若以一维数组存储一个堆,则堆对应一棵完全二叉树,且所有非叶结点的值均不大于(或不小于)其子女的值,根结点(堆顶元素)的值是最小(或最大)的。如: (a)大顶堆序列:

2015-07-26 15:29:29 2354

原创 八大排序算法-shell 排序

基本思想 先将整个待排序的记录序列分割成为若干子序列分别进行直接插入排序,待整个序列中的记录“基本有序”时,再对全体记录进行依次直接插入排序。操作方法 选择一个增量序列t1,t2,…,tk,其中ti>tj,tk=1; 按增量序列个数k,对序列进行k 趟排序; 每趟排序,根据对应的增量ti,将待排序列分割成若干长度为m 的子序列,分别对各子表进行直接插入排序。仅增量因子为1 时

2015-07-26 09:27:30 9935 3

原创 八大排序算法-直接插入排序

基本思想 将一个记录插入到已排序好的有序表中,从而得到一个新,记录数增1的有序表。即:先将序列的第1个记录看成是一个有序的子序列,然后从第2个记录逐个进行插入,直至整个序列有序为止。时间复杂度:O(n^2). 要点:设立哨兵,作为临时存储和判断数组边界之用。直接插入排序示例: 如果碰见一个和插入元素相等的,那么插入元素把想插入的元素放在相等元素的后面。所以,相等元素的前后顺序没有改

2015-07-25 22:48:35 606

原创 八大排序算法-简单选择排序

基本思想 通过下标位置减少交换次数,在要排序的一组数中,选出最小(或者最大)的一个数与第1个位置的数交换;然后在剩下的数当中再找最小(或者最大)的与第2个位置的数交换,依次类推,直到第n-1个元素(倒数第二个数)和第n个元素(最后一个数)比较为止。操作方法 第一趟,从n 个记录中找出关键码最小的记录与第一个记录交换; 第二趟,从第二个记录开始的n-1个记录中再选出关键码最小的记

2015-07-25 20:19:35 1939

原创 八大排序算法-冒泡排序

基本思想 在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。代码#include<stdio.h>#include<stdlib.h>//常规冒泡排序 void bubbleSort(int r[],int n){ int i,j;

2015-07-25 19:51:46 387

原创 二叉树的创建和遍历

概念和性质 树的相关概念和性质 二叉树的相关概念和性质递归实现二叉树的创建和遍历代码#include<stdio.h>#include<stdlib.h>typedef struct TreeNode{ int data; struct TreeNode *Lchild; struct TreeNode *Rchild;} TreeNode,*P_Tree

2015-07-25 16:19:06 421

目前最全的省市区表(单表)整理于2016-03-06

目前为止最全最方便的省市区单表sql文件,整理与20163月6日,绝对不会让你失望!

2016-03-06

汉诺塔问题

汉诺塔问题详解,图解汉诺塔的处理流程,超想详细

2015-09-06

空空如也

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

TA关注的人

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