摘要:
最近在找实习,到目前为止已经投出去大概20份简历,几乎都沉了,深感亚历山大啊! 平心自问,绝不是自己的硬件指标太差,只因为自己没有找好时机,没有在合适的时间,找到合适的机会。 在校招的大潮下,找实习有种被拍死的赶脚啊~各公司实习的招聘大多数都在每年的3、4、5、6月份,而自己那时候却因为其他的因素没有对实习太多关注,因此也就失去了最好的时机。当自己醒悟过来,开始找实习的时候,发现各公司对实习生的招聘大多数已经关上大门了。 因此,对于机遇感慨良多啊!机遇,究其本身来讲,和自己主观没有一点关系,是外在的表现,不是主观能动性能够撼动的。我们不成央求机会在对自己最合适的时候出现在自己面前... 阅读全文
摘要:
1. 数组1.1 数组作为函数参数 (1) 如果使用数组作为函数的参数,则实参和形参都是数组名,且类型要相同。数组名做参数时传递的是地址 (2) 使用方法: void rowSum(int a[][4], int n, int m); // 不能写成 int a[][];也不能写成int **a;1.2 对象数组 (1) 声明语句 ① 类名 数组名[常量表达式]; (2) 例子: Location a[2] = {Location(1,2), Location(3,4)}; Location a[2] = {Location(1,2)};//此时,先初始化... 阅读全文
摘要:
1. 标识符的作用域与可见性 1.1 作用域 标识符的作用域包括:函数原型作用域、局部作用域、类作用域、命名空间作用域 (1) 函数原型作用域:函数的参与的作用域就是从函数的开始到结束 (2) 局部作用域:void fun(int a){ int b = a; cin>>b; if(b>0) { int c; //c的作用域 b的作用域 a的作用域 ... } } (3) 类作用域 类X中有成员m,m的类作用域的三种... 阅读全文
摘要:
终于狠下心来要好好学习下算法了,买了经典名作:算法导论,另外在网易公开课上收看MIT 的 Intorduction to Algorithms,为了正握的更透彻,也为了方便以后复习,把掌握的内容记录下来。
本期的内容为排序算法(sort algorithms)。
插入排序(Insertion Sort)
插入排序正如名字一样好理解。假设需要排序的数组为 array[0...n-1],从数组的第二个数开始,向后进行遍历,每拿到一个数,把这个数插到它前面已经排好序的数组中的适当的位置。这里有一些问题需要说明:
怎样保证前面的数组是有序的?
从第二个数开始操作,因为它的前面只有一个数,肯定是有序的,插入第二个数后能保证前两个数是有序的。插入第三个数时,前两个数是有序的,把第三个数插入到适当的位置后,保证前三个数是有序的。依次类推,每次插入时,都能保证前面的数是有序的。这个过程的关键是从第二个数开始插入。
插入适当的位置,也就是保证插入后依然是有序的,那么操作过程是怎样的呢?
这里用个例子来说明。array[5] = {3, 2, 4, 6 1 阅读全文
摘要:
其实专注这个词很久就知道了,专注的力量也是早就有所耳闻,以前总是希望自己专注,却总是没有办法。
与其说没有办法,不如说自己比较贪婪,也狠不下心。一方面,在做某件事情的时候总是想着其他事,或者做着某件事情的同时也在做其他事,这样严重牵扯自己的精力,虽然,可能做得事情并不是很重要,所以本希望能够利用有限的时间来做更多的事情,但这样却造成了不专注的祸根。
哈佛经济学家曾经做了个关于工作效率的研究,得出的结论和我的亲身体会差不多。A Harvard Economist's Surprisingly Simple Productivity Secret 他们说:最终阻碍你成功的是你的大脑“带宽”使用效率,或集中精力的能力。这不正说的是专注吗?
今天我去厕所解决个人问题,以往我总是带着手机,我的初衷是,希望采用并行的方式既能解决个人问题,又能利用这时间学习些新东西。想得好不如做得好。手机其实是个非常具有诱惑力的物品,它的功能十分强大,既能玩游戏,又可以上网冲浪。因此,可怕的是,因为手机的介入,上厕所的时间不经意中就被拉长了几倍!本来想的是能够用手机打发下无聊的时间,没 阅读全文
摘要:
这个题目是非常经典的一个题目,解法也有很多,现在就把我已经理解的解法记录下来。
题目描述
有n个无序的数,它们各不相等,怎样选出其中的最大的k个数呢?
题目分析:
解法1:
最容易想到的就是把n个数进行排序,然后选择最大的k个数。排序算法很多,快速排序和堆排序都是不错的选择,他们的复杂度都是Ο(n*log2n),然后取出前k个Ο(k),总的时间复杂度可以看成是Ο(n*log2n)
在这个解法中,对n个数进行了排序,如果n的数值非常大的话,会很慢。
解法2:
能不能只遍历一边n个数就能把最大的k个数选出来呢?答案是可以的。
在解法2中,规定,n个数存储在数组array[n]中,我们需要开辟k个数的空间result[k]。遍历的最终目的是把最大的k个数存储在result[k]中。每一步的过程是,当遍历到array[i]时,判断array[i]是否比result[]中最小的数大,如果是,则表明,array[i]应该出现在result[]中(此时假设result[]中已存满k个数)。
那么应该用什么样的方式来进 阅读全文
摘要:
1. 面向对象程序设计的特点
1.1 抽象
1.2 封装
1.3 继承
1.4 多态
(1) 分为:强制多态、重载多态、类型参数化多态、包含多态
(2) 强制多态:类型转换
重载多态:
类型参数化多态和包含多态属于一般多态性,是真正的多态。C++中采取虚函数实现包含多态。虚函数是多态的精华。模板是参数化多态的工具,分为函数 模板和类模板
2. 类和对象
2.1 这个理解的比较清楚,就以一个例子说明下用法吧 阅读全文
摘要:
1. 随机函数的使用
2. 函数的参数传递
3. 内联函数
4. 带默认参数的形参 阅读全文
摘要:
1. sizeof
2. I/O流的输出格式
3. while 与 do-while
3.1 里面的条件true 或 false 与程序流程的关系
4. for 语句的执行顺序
5. switch 语句
6. typeof声明
7. enum枚举 阅读全文