2017年9月19日

摘要: 1、快速排序的算法复杂度怎么计算: 在最优的情况下,partition每次都划分的很均匀,如果排序n个关键字,其递归树的深度就为log2n+1,每次将数组一分为二,可以有下面的不等式: T(n) <= 2T(n/2) + n ; T(n) <= 2(2T(n/4) + n/2) + n = 4T(n 阅读全文

posted @ 2017-09-19 20:21 禾小白 阅读(161) 评论(0) 推荐(0) 编辑

2017年8月14日

摘要: 目录 1.1从hello world说起 1.2变不离其宗 1.3站得高,看得远 1.4操作系统做了什么 1.4.1不要让CPU打盹 1.5内存不够怎么办 1.5.1关于隔离 1.5.2分段 1.5.3分页 1.6众人拾柴火焰高 1.6.1线程基础 1.6.2线程安全 1.6.3多线程的内部情况 正 阅读全文

posted @ 2017-08-14 21:47 禾小白 阅读(126) 评论(0) 推荐(0) 编辑

摘要: 第一题:操作序列 小易有一个长度为n的整数序列,a_1,...,a_n。然后考虑在一个空序列b上进行n次以下操作:1、将a_i放入b序列的末尾2、逆置b序列小易需要你计算输出操作n次之后的b序列。 输入描述: 输入包括两行,第一行包括一个整数n(2 ≤ n ≤ 2*10^5),即序列的长度。 第二行 阅读全文

posted @ 2017-08-14 20:59 禾小白 阅读(235) 评论(0) 推荐(0) 编辑

2017年7月30日

摘要: 链表是一种最简单的数据结构之一,经常会被面试官用来考察应聘者的基础扎不扎实,最近也到了求职季,所以我把自己对链表的一些理解写出来,希望能跟大家交流交流; 链表的概念其实挺简单,无非就是一个利用指针将数据元素顺序串联起来的一种非连续、非顺序的存储结构;链表中每一个结点都包含两个部分:一个室存储数据的数 阅读全文

posted @ 2017-07-30 17:42 禾小白 阅读(409) 评论(0) 推荐(0) 编辑

2017年7月28日

摘要: 第一题: 牛牛喜欢彩色的东西,尤其是彩色的瓷砖。牛牛的房间内铺有L块正方形瓷砖。每块砖的颜色有四种可能:红、绿、蓝、黄。给定一个字符串S, 如果S的第i个字符是'R', 'G', 'B'或'Y',那么第i块瓷砖的颜色就分别是红、绿、蓝或者黄。牛牛决定换掉一些瓷砖的颜色,使得相邻两块瓷砖的颜色均不相同 阅读全文

posted @ 2017-07-28 16:50 禾小白 阅读(298) 评论(0) 推荐(0) 编辑

2017年7月18日

摘要: 在c语言中存在两种类型转换:显式类型转换和隐式类型转换; 显示类型转换:在类型前加上(type)变量,对变量进行的转换,程序员自己显式添加; char *ptra = (char*)ptrb; void *ptrc = (void*)ptrd; 隐式转换:不同数据结构之间赋值和运算,函数调用传递参数 阅读全文

posted @ 2017-07-18 12:23 禾小白 阅读(1100) 评论(0) 推荐(0) 编辑

2017年7月7日

摘要: static的作用主要有两种: 第一个作用是限定作用域;第二个作用是保持变量内容持久化; c语言中static的用法: 1、全局静态变量: 用法:在全局变量前加上关键字static,全局变量就定义成一个全局静态变量。 static int temp; 内存中的位置:静态存储区,在整个程序运行期间一直 阅读全文

posted @ 2017-07-07 14:21 禾小白 阅读(44233) 评论(0) 推荐(5) 编辑

摘要: 1、修饰常量时: const int temp1; //temp1为常量,不可变 int const temp2; //temp2为常量,不可变 2、修饰指针时: 主要看const在*的前后,在前则指针指向的内容为常量,在后则指针本身为常量; const int *ptr; //*ptr为常量; i 阅读全文

posted @ 2017-07-07 13:18 禾小白 阅读(2220) 评论(1) 推荐(1) 编辑

2017年6月22日

摘要: 在c++程序中调用被C编译器编译后的函数,为什么要加extern “C”? C++语言支持函数重载,C语言不支持函数重载。函数被C++编译后在库中的名字与C语言的不同。C++提供了C连接交换指定符号ectern “C”解决名字匹配问题。 头文件中ifndef/define/endif是干什么用的? 阅读全文

posted @ 2017-06-22 15:07 禾小白 阅读(870) 评论(1) 推荐(1) 编辑

2017年6月3日

摘要: 无论在什么时候,如果遇到malloc(strlen(str));,几乎可以直接断定他是错误的,而malloc(strlen(str)+1);才是正确的; 一个L的NUL哟关于结束一个ACSII字符串;两个L的NULL用于表示什么也不指向(空指针);ACSII字符中零的位模式被称为NUL。表示哪里也不 阅读全文

posted @ 2017-06-03 17:23 禾小白 阅读(294) 评论(0) 推荐(0) 编辑