自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Everlasting2016的博客

我流我的汗水 华丽如天花乱坠

  • 博客(157)
  • 收藏
  • 关注

原创 group by和count连用

一篇博客的链接:点击打开链接下面是自己的理解:1、语句会先执行group by进行分组2、然后执行COUNT函数对于每一个分组进行计算

2017-01-13 10:47:36 1694

原创 最近mysql学习中遇到的错误

1、使用子表查询,而不是通过join on的时候,这个时候where 中使用=必须是子查询的返回值唯一的时候才可以使用,不唯一的时候(也就是一个集合时),使用in

2017-01-12 15:05:38 473

转载 MySQL创建数据表时设定引擎MyISAM/InnoDB

我在配置MySQL时将配置文件中的默认存储引擎设定为了InnoDB。今天查看了MyISAM与InnoDB的区别,在该文中的第七条“MyISAM支持GIS数据,InnoDB不支持。即MyISAM支持以下空间数据对象:Point,Line,Polygon,Surface等。”作为一个地理信息系统专业的学生(其实是测绘专业)来讲,能存储空间数据的数据库才是好数据库,原谅我是数据库小白的身份。

2017-01-11 23:38:48 1229

转载 MySQL ERROR 1005: Can't create table (errno: 150)解决办法

在MySQL 中建立引用约束的时候会出现MySQL ERROR 1005: Can’t create table (errno: 150)的错误信息,结果是不能建立引用约束。 出现问题的大致情况 1、外键的引用类型不一样,如主键是int外键是char 2、找不到主表中引用的列 3、引用的字段和外键的字符编码不一致,也可能存储引擎不一样 4、引用的字段和外键的约束不同我出

2017-01-11 23:37:33 2863

原创 MySQL在线学习1

详细解释:

2017-01-11 21:08:28 1022

转载 数据库中的内连接、自然连接、外连接

一篇很好的网站理解关系数据操作,下面是这篇文章:数据库中的内连接、自然连接、外连接数据中的连接join分为内连接、自然连接、外连接,外连接又分为左外连接、右外连接、全外连接。    当然,这些分类都是在连接的基础上,是从两个表中记录的笛卡尔积中选取满足连接的记录。笛卡尔积简单的说就是一个表里的记录要分别和另外一个表的记录匹配为一条记录,即如果表A有3条记录,表B也有三条记录

2017-01-11 15:30:29 905

原创 第11章 正则表达式

1、 . 匹配: 单字符2、^string 匹配:行首字符3、string$ 匹配:行尾字符4、\^ \$ 匹配:查找包含脱字符的文本行5、* 匹配:表示字符串零次出现或者重复出现6、\ 匹配:匹配特殊字符是,需要使用\将特殊字符转义为普通字符7、[] 匹配:表示一个范围或者集合 例如:[a-c]8、\{\} 匹配:结果出现的次数 例如:string\{n\} stri

2017-01-03 22:52:06 356

原创 第10章 shell脚本编写技巧

一、1、命名规范:使用匈牙利命名法或者驼峰命名法2、注释的风格:2.1 #后面都是注释2.2 可以在函数中间写注释,但是最后并不调用此函数3、不同的模块,使用空格来分隔二、1、尽量避免使用管道2、给出足够的提示信息三、脚本使用技巧1、shell命令的常用选项选项作用选项作用-a显示全部内容-c执行计

2017-01-03 22:51:14 362

原创 校招感想

自己的校招也是正式结束了,也找到了比较满意的工作这次校招的感悟:(1)比你牛逼的人比你还努力:比我技术好的人,他们并没有以为手上有了很多的offer而停止校招,最后一个认识的人,未来也将是我的同事(很幸运能和这样的人做同事),简单的估计他至少拿了10+个offer,每一个的工资都不是很低的那种,并且有网易(说实话,这个还是比较难的)和美团实习的经历,他最后当我拿到offer的时候,他依

2016-11-13 12:23:41 931

原创 第6章 linux的文件权限与目录配置

1、分为用户、用户组、其他人2、ls3、ls的结果文件权限    连接数   所有者  所属组   大小(B )   最后修改的时间     文件名附:ls  -l   --full-time4、改变文件的属性chgrp root hello.cchown root hello.c//目录加-Rchown root:root hello.c//两个都改变

2016-10-22 13:51:56 430

原创 赛码网笔试总结

1、第一种输入的方式代码:#includeusing namespace std;int Fun(int n){ if (n == 1) return 0; if (n == 2) return 1; if (n == 3) return 2; return Fun(n - 1) + Fun(n-2);}int main(){ int n; int k;

2016-09-14 20:31:54 16193

原创 滴滴面试

1、自己没有把控好时间,最近静下心来2、考了很多的知识,还是好好复习吧3、主要是编程题的输入3-1 2 3可以这么写:int main(){ int n = 0; int *arr = new int[n]; cin >> n; for (int i = 0; i < n; i++) cin >> arr[i]; return 0;}

2016-09-06 21:27:23 998

原创 CVTE面试总结

一、在线笔试1、考了操作系统,网路,c++方面的知识2、都是基础题3、编程题也是比较简单的4、中途忘记了优先级队列的写法了,需要好好看一看还需要继续努力

2016-09-03 20:42:00 856

原创 String的浅拷贝

class String{public: String(const char* str="") :_str(new char[strlen(str) + 5]) { cout << "String()" << endl; _str += 4; _GetRefCount(_str) = 1; strc

2016-09-01 14:54:59 418

原创 String类的深拷贝

class String{public: String(char* str="") :_str(new char[strlen(str)+1]) { cout << "String()" << endl; memcpy(_str, str, sizeof(char)*(strlen(str) + 1)); } ~S

2016-09-01 14:52:57 450

原创 AVL树

记得上次的博客中说到了二叉所搜树,也说到了他还说一种有欠缺的二叉树,当输入单调递增或单调递减的数据后,他会退化成链表,这样会严重影响效率,所以AVL树就被引出来了,下面就开始简单介绍AVL树吧。首先AVL树是一种严格的平衡二叉树,他要求所有节点所在的二叉树都满足一个条件:平衡因子不大于2,搜索二叉树也就接近满二叉树了,这个时候搜索的效率就比较高了,但是它也因此付出了很高的代价,那就是他会不断的

2016-08-24 15:30:59 458

原创 性能剖析器

一、项目总结图:二、功能支持1. 统计代码段的调用次数、花费时间、代码段信息2. 支持剖析段不匹配场景3.支持剖析递归程序4. 支持跨平台5. 支持高并发多线程的剖析三、各个模块的介绍及测试结果1、性能剖析器的管理模块划分及功能(1)PerformanceProfiler--性能剖析模块(3)ConfigMan

2016-08-23 19:25:28 383

原创 布隆过滤器

布隆过滤器(Bloom Filter)是由布隆(Burton Howard Bloom)在1970年提出的。它实际上是由一个很长的二进制向量和一系列随机映射函数组成,布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都远远超过一般的算法,缺点是有一定的误识别率(假正例False positives,即Bloom Filter报告某一元素存在于某集合中,但是实际上该元素

2016-08-22 11:45:57 675

原创 基于TCP的http服务器

http服务器的实现逻辑1.实现基于 tcp 协议的服务器端(创建监听套接字  bind; listen )    注:http协议属于应用层协议,其功能的实现依赖于下层结构提供的服务。它的无连接特性决定了它的下层必须保证 单次交互的可靠性(否则  本来就一次性,还不知道可靠不可靠(获取的数据是否正确有序),谁用?)。而tcp协议刚好提供了这种可靠性。但是tcp协议是面向连接的,因此

2016-08-22 11:41:25 1182 1

原创 基于linux聊天系统

一、整体介绍(1)client模块:畅聊系统client上层逻辑,提供client底层通信(2)server模块:畅聊系统server上层逻辑,提供server底层通信service_com模块:(3)畅聊系统底层公共逻辑,如数据序列化。(4)window模块:client窗口模块(5)lib第三方库模块:提供第三方库模块(6)plug插件起停服务脚本模块:起停服务脚本

2016-08-21 20:56:03 2023

转载 phtread_mutex的初始化

class MyLock{public: MyLock() { //m_lock = PTHREAD_MUTEX_INITIALIZER; //使用这种方法初始化时GCC编译无法通过 pthread_mutex_init(&m_lock, NULL); } ~MyLock() {} void Lock() { pthread_mutex_lock(&m_lock)

2016-08-20 09:34:18 1488

原创 STL的空间配置器

这篇博客主要讲一下SGI-STL中的空间配置器的工作流程。我自己实现模仿STL实现了一个空间配置器,并且用两个容器list和vector测试使用了空间配置器。这里只给出模型,如果要看源码,点击打开链接下载。源码中的注释比较多,也比较全。下面是工程目录: 现在介绍一下工程目录:List.h、Vector.h是模仿STL容器中的两个list和vector的接口完成的

2016-08-20 08:45:17 635

原创 文件压缩项目

前段时间研究了一下哈夫曼树,也知道了其主要应用是哈夫曼编码,那么我想既然有编码那么我们是否可以利用这点来实现一个文件压缩呢?答案是可以的,而且我已经实现了,这里我就不将代码放在下面了,下面我就说一下主要思路吧    1.统计:首先读取一个文件,统计出256个字符中各个字符出现的次数以及字符出现的总数    2.建树:按照字符出现的次数,并以次数作为权值建立哈夫曼编码树;建好树后找出

2016-08-19 19:40:23 686 1

原创 Linux 查看进程和删除进程

1. ps 命令用于查看当前正在运行的进程。grep 是搜索例如: ps -ef | grep java表示查看所有进程里 CMD 是 java 的进程信息ps -aux | grep java-aux 显示所有状态ps2. kill 命令用于终止进程例如:kill -9 [PID]-9 表示强迫进程立即停止通常用 ps 查看进程 PID ,用 kill 命

2016-08-18 00:03:31 363

原创 priority_queue的用法

priority_queue调用 STL里面的 make_heap(), pop_heap(), push_heap() 算法实现,也算是堆的另外一种形式。先写一个用 STL 里面堆算法实现的与真正的STL里面的 priority_queue用法相似的priority_queue, 以加深对 priority_queue 的理解#include #include #include u

2016-08-15 10:06:47 263

原创 二叉树的下一个结点

题目描述:给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。思路:结合图,我们可发现分成两大类:1、有右子树的,那么下个结点就是右子树最左边的点;(eg:D,B,E,A,C,G) 2、没有右子树的,也可以分成两类,a)是父节点左孩子(eg:N,I,L) ,那么父节点就是下一个节点 ; b)是

2016-08-15 09:10:38 444

原创 第九天(5道)

终于开始Tree的练习了1、树的子结构两个递归结构2、二叉树的深度递归3、平衡二叉树使用了二叉树的深度,abs的使用4、二叉树的镜像遍历然后每次交换left和right5、从上往下打印二叉树二叉树的层序遍历

2016-08-14 23:38:28 250

原创 第八天(6道)

1、复杂链表的复制边界条件要仔细判断2、链表中环的入口结点先是快慢指针,然后是同时遍历,需要仔细复习一下3、两个链表的第一个公共结点要先遍历两个链表,然后长的链表先走4、数组中只出现一次的数字使用的是^运算,eO&(~eO +1),找到最右侧的15、删除链表中重复的结点先在前面插个头结点,然后遍历的时候不是每一步都删除,而是重复的遍历完了在删除,并且ne

2016-08-14 23:34:16 363

原创 字符串2(6道)

1、两串的旋转string::npos的使用2、句子的逆序使用left和right标志位置3、字符串移位reverse的使用4、拼接最小单词序sort的使用,最后一个参数为仿函数5、空格替换使用指向最后末尾的指针6、合法括号序列判断一个status变量来标识个人今天刷题的github的链接:点击打开链接

2016-08-14 23:26:03 311

原创 排序3和字符串1(6道)

1、三色排序练习快速排序的单向扫描的变形2、有序矩阵查找二维数组的查找3、需要排序的最短子数组长度遍历两边数组4、相邻两数最大差值归并排序的变形5、拓扑结构相同的子树两个递归6、词语变形使用map[256]个人今天刷题的github的链接:点击打开链接

2016-08-14 23:20:49 290

原创 排序2(7道)

1、堆排序非递归写法是空间复杂度为O(1)2、希尔排序3、计数排序就是相当于使用一个map[256]记录的题一样,不过这个是统计出来min和max4、基数排序先统计低位出现的次数,然后一个位置的数组,然后就是直接定位了5、小范围中的排序练习题非比较排序时间复杂度和空间复杂度是和序列的范围有关的其他的排序:是随机的和序列的顺序是没有什么关系的使用插入排序:O(

2016-08-12 16:17:26 340

原创 排序1

1、冒泡排序2、选择排序3、插入排序4、归并排序递归和非递归写法5、快速排序递归和非递归写法个人今天刷题的github的链接:点击打开链接

2016-08-12 16:08:46 306

原创 第七天(5道)

1、把数组排成最小的数其实就是定义一种新的排序规则,但是这道题中学习到了to_string和仿函数的使用(两种方法都是可以的)2、最小的K个数其实是想写堆排序的,但是总是显示时间复杂度太高,所以使用了sort,但是注意less()的用法3、整数中1出现的次数(从1到n整数中1出现的次数)就是简单的遍历而已4、数组中的逆序对原型是归并排序5、数字在排序数组中出现的次数

2016-08-12 16:04:14 268

原创 归并排序非递归写法

void _Merge(int arr[], int* tmp, int begin1, int end1, int begin2, int end2){ int index = begin1; while (begin1 <= end1&&begin2 <= end2) { tmp[index++] = arr[begin1]<arr[begin2] ? arr[begin1++]

2016-08-11 14:36:23 805

原创 第六天(5道)

1、扑克牌顺子其实没有什么,就是一个一个的遍历,然后统计black2、和为2的连续的正数序列left++和right++的遍历,但是add==sum的时候不要忘记了left++,昨天以为是牛客网的系统有问题,其实是自己的代码死循环了3、跳台阶问题思路:第一次跳一次的方法为f(n-1),跳两次的方法为f(n-2),所以最后为f(n-1)+f(n-2)4、变态跳台阶思路

2016-08-11 09:53:07 307

原创 二叉查找树中节点的删除

今天,在写数据结构的二叉查找树时,写到remove方法时,突然卡壳了。后来,打开书细看时,竟然耗费了不少时间才看懂。    现将思想记录下来,以免以后再次遗忘。    二叉查找树重要性质:                                     每个节点都有一个作为搜索依据的关键码(key),所有节点的关键码互不相同。左子树上所有节点的关键码(key)都小于

2016-08-10 23:25:13 652

原创 第五天(5道)

1、找出字符串中第一次只出现一次的字符其实就是使用map[256]遍历两次的方法重点是这道题的测试用例标准输入的时候使用了while (scanf("%s", str) != EOF),这种写法值得研究研究2、数组中重复的数字在一个长度为n的数组里的所有数字都在0到n-1的范围,就是每一个树到该到的位置上3、把字符串转换为整数溢出的判断十分巧妙4、连续子数组的最大和

2016-08-10 02:25:01 343

原创 并查集

在一些有N个元素的集合应用问题中,我们通常是在开始时让每个元素构成一个单元素的集合,然后按一定顺序将属于同一组的元素所在的集合合并,其间要反复查找一个元素在哪个集合中。动态连通性一类问题的一种算法,使用到了一种叫做并查集的数据结构,称为Union-Find。建模思路:最简单而直观的假设是,对于连通的所有节点,我们可以认为它们属于一个组,因此不连通的节点必然就属于不同

2016-08-09 22:40:19 278

原创 第四天(6道)

1、最小的K个数使用的是堆排序,但是貌似编译不通过,明天在研究研究2、第一个只出现一次的字符位置就是使用哈希表进行记录出现的次数,然后在遍历一遍找其中次数为1的即可3、左旋转字符串本身这道题没有什么难度,但是体现出来了自己对于迭代器的使用还不是很熟练,STL中是有reverse函数的,参数是迭代器类型4、翻转单词顺序列本人认为自己使用的方法还是比较直观的,使用left和

2016-08-08 01:08:08 374 6

原创 第三天(5道)

1、反转链表两种方法2、合并两个排序的链表巧妙的处理了第一次的判断的时候谁是新的链表的头结点的问题3、顺时针打印矩阵利用矩阵的分圈处理4、包含min函数的栈注意第一次插入的时候的min的判断条件数组中出现次数超过一半的数字数组中出现次数超过一半的数字

2016-08-07 02:00:53 218

空空如也

空空如也

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

TA关注的人

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