基础知识
文章平均质量分 60
whuslei
这个作者很懒,什么都没留下…
展开
-
时间复杂度(分析程序效率)
关于时间复杂度,参看http://blog.csdn.net/zhuchzhi/archive/2007/03/14/1529514.aspx 总结如下: 1、如果函数中没有n,也就是语句执行的次数是恒定的,则可知时间复杂度为O(1) 2、如果函数中有n,但是不知道执行的次数,可以这样做:假设执行次数为m,经过m次执行后条件参数变为x1且常数增长,则O(x)比O(y)增长得快些,即高效性:O(x)原创 2011-03-28 17:42:00 · 3700 阅读 · 2 评论 -
是32位还是64位更快?
其实题目的说法并不准确。如果希望详细了解,可以参考http://www.metsky.com/archives/220.html,但是我现在还不想讨论哪个更快,我只想说明 32 bits 和 64 bits之间到底是什么关系? 【参考文章】http://www.tech原创 2011-08-27 22:14:43 · 3552 阅读 · 0 评论 -
c语言中的sizeof(面试、笔试常考)
大部分公司在招聘技术职位面试的时候,都会考c语言基础,而sizeof是他们最喜欢考的知识点,现总结如下:1、定义 sizeof是C语言的一种单目操作符,它并不是函数。sizeof操作符以字节形式给出了其操作数所占存储空间的大小。操作数可以是一个表达式或括在括号内转载 2011-09-26 21:21:25 · 3178 阅读 · 0 评论 -
笔试中常出现的C语言读程序题
程序1:请问运行Test函数会有什么样的结果?void GetMemory(char *p){ p = (char *)malloc(100);}void Test(void){ char *str = NULL; GetMemory(st原创 2011-09-26 22:35:19 · 2276 阅读 · 0 评论 -
部分基础笔试题(不断补充)
【题记】 最近笔试比较多,很多都是一些基础常见题型,菜鸟可以参考,老鸟跳过! 1、已知前(后)序和中序,求另一序。 答:若已知前序,则可知前序的第一个元素就是这颗二叉树的根;若已知后序,则后序的最后一个元素就是这颗二叉树的根。然后通过这个根元素将中序划分为原创 2011-10-10 00:20:18 · 1379 阅读 · 0 评论 -
一些常常被问到的问题小结
1、进程切换的过程是怎样的?什么是用户态,核心态?什么时候发生进程切换?2、如何编写一个线程安全的HashMap?3、java集合中ArrayList,LinkList,Vector的区别?4、c语言中的malloc和c++中的new有何区别?5、c语言中的静态库和动态链接库的区别?6、网络中的大端和小端的区别?7、Hash算法中解决"冲突"的办法有哪些种?8、原创 2011-06-16 20:51:00 · 1787 阅读 · 0 评论 -
java语言基础题(不断补充)
【题记】 很多常规题,不好归纳,只能慢慢补充了。 一、以下代码是否正确?如果不正确,如何改正?1、关于抽象类abstract class a{ private abstract void f();}2、关于集合Collection cl = new Arr原创 2011-10-10 14:55:15 · 1266 阅读 · 0 评论 -
java中的final、抽象类、接口小结
一、final关键字可以用来修饰类、方法、变量。各有不同。A、修饰类(class)。 1、该类不能被继承。 2、类中的方法不会被覆盖,因此默认都是final的。 3、用途:设计类时,如果该类不需要有子类,不必要被扩展,类的实现细节不原创 2011-04-27 10:54:00 · 4002 阅读 · 0 评论 -
JAVA中除数为0的问题
java中,如果int/int中除数为0,会抛出异常java.lang.ArithmeticException: / by zero,这个不容易理解!但如果是浮点型,就不会报异常了! 总结如下: 0.0/0.0 得到的结果是NaN(not an number的简称,即"不是数字")。通过Double.isNaN(double x)来判断。 正数/0.0 得到的结原创 2011-10-30 09:58:02 · 16123 阅读 · 0 评论 -
java中的hashCode()和equals()的关系
[更新于2013-05-18]Q1:为什么要重写equals方法?在java中new出来的对象obj1,obj2即使是内容完全相同,但在内存中的地址不一样,也就是在heap上分配了两份内存。有时候我们必须比较对象是否已存在,比如HashSet里的值是不能重复的。那怎么判断对象是否一样呢?调用equals方法。比如 obj1!=null && !obj1.eqauls(obj2)。原创 2011-08-14 20:17:10 · 2748 阅读 · 0 评论 -
HTTP协议中 POST和GET的区别
权威点的说明请参考:http://www.cs.tut.fi/~jkorpela/forms/methods.html通俗的理解是:一、GET的特点。 主要用于简单的获取页面信息,同时也可以包含一些特殊的请求信息(如 提交用户名、密码之类的)。如果有,则将原创 2011-08-07 16:37:49 · 9493 阅读 · 0 评论 -
java中的equals() 和 ==
【说明】 这是一个老生常谈的问题,算是java基础知识,暂且当作复习一遍。新手参考,老鸟跳过!参考http://my.so-net.net.tw/idealist/Java/Basic/equals.html一、 == 如果两边指向的是同一对象则返回true,否原创 2011-08-07 14:47:50 · 1772 阅读 · 0 评论 -
探究Java垃圾回收机制
java垃圾回收机制使得java程序员不用手动去释放通过new关键字在heap上申请的空间。但是,任何事情都是有利有弊。它也许并不像我们想象中那样强大!让我们来一探究竟。本blog链接:blog.csdn.com/whuslei。 阅读本文前,请务必参看《think in原创 2011-05-03 23:12:00 · 2397 阅读 · 0 评论 -
如何证明平方和公式?
证明如下: 已知(n+1)3 = n3+3n2+3n+1 则与如下一系列等式成立: (n+1)3-n3=3(n2+n)+1 n3-(n-1)3=3((n-1)2+(n-1))+1 ………… 23-13=3(12+1)+1 等式两边相加: (n+1)3-1 = 3[n2+…+12]+3*n(n+1)/2+n 故,12+22+32+……+n2是为n(n+1原创 2011-03-30 13:57:00 · 2713 阅读 · 0 评论 -
移位运算(部分笔试题)
一、x=a/2;等价于x=a>>1;右移则幂次变小 x=a*2;等价于x=a(left,center),(center+1,right)=>(1,2),(3) 或者,=>(left,center-1),(center,right)=>(1),(2,3) 2、偶数,如1,2=>(left,center),(center+1,right)=>(1),(2) 或者,=>(left,cente原创 2011-03-31 16:55:00 · 1670 阅读 · 0 评论 -
常见排序算法小结
排序算法经过了很长时间的演变,产生了很多种不同的方法。对于初学者来说,对它们进行整理便于理解记忆显得很重要。每种算法都有它特定的使用场合,很难通用。因此,我们很有必要对所有常见的排序算法进行归纳。 我不喜欢死记硬背,我更偏向于弄清来龙去脉,理解性地记忆。比如下面这张图,我们将围绕这张图来思考几个问题。 上面的这张图来自一个PPT。它概括了数据结构中的所有常见的排序算法。现在有以下几个问题: 1、每个算法的思想是什么? 2、每个算法的稳定原创 2011-05-24 16:25:00 · 111320 阅读 · 21 评论 -
JAVA中String类深度探究
学过java的人应该对String类再熟悉不过了,但是真正了解它的人又有多少? 先看几个读程序题: 1、 String str1 = "ab"; String str2 = "a" + "b"; String str3 = "a"; str3 += "b"; System.out.println((str1 == str2) +原创 2011-04-08 23:57:00 · 1459 阅读 · 2 评论 -
java中如何递归删除文件和文件夹(最简单的代码)
代码如下,递归删除: 注意:java中要想删除一个文件夹,首先要清空它下面的所有文件! public void delete(String path){ File f=new File(path); if(f.isDirectory()){//如果是目录,先递归删除 String[] list=f.list(); for(int i=0;i原创 2011-04-28 21:05:00 · 7199 阅读 · 1 评论 -
关于二分查找算法
《只有10%程序员能正确实现二分查找算法》,原文链接为:http://news.csdn.net/a/20100423/218099.html自己也动手实践了下,本人觉得选择一种自己最能理解的方式来编码即可。有的时候还是需要熟练地写出比较高效的代码。版本1:i原创 2011-07-06 15:49:40 · 824 阅读 · 0 评论 -
linux中memset的正确用法
【起因】希望对各种类型的数组进行初始化,避免野值 【函数头文件】 提示:在linux中可以在terminal中输入 "man memset"进行查询 #include void *memset(void *s, int c, size_t n原创 2011-07-14 19:51:26 · 25238 阅读 · 4 评论 -
抽象类和接口的最佳实践
先谈谈我脑子里所了解的知识,然后补充下刚才学到的。 参考之前的一篇http://blog.csdn.net/whuslei/article/details/6366185 接口(interface)1、接口中的所有方法都是 public abstrac原创 2011-08-02 20:37:28 · 1424 阅读 · 0 评论 -
TCP协议中的三次握手和四次挥手(图解)
建立TCP需要三次握手才能建立,而断开连接则需要四次握手。整个过程如下图所示:先来看看如何建立连接的。首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源。Client端接收到ACK报文后也向Server段发生ACK原创 2011-08-07 20:43:02 · 1058597 阅读 · 91 评论