很不错的东西
希望大家能踊跃发表自己的意见:
题目如下:
1.进程和线程的区别和联系,什么情况下多用线程,什么情况下多用进程?
2.怎样以最快的方法找到单链表的中间节点?
3.大数据量中找中位数
4.静态方法里面为什么不能声明静态变量
5.如果让你设计一个类,什么时候把变量声明为静态类型
[解决办法]
1,进程之间的独立性较好,独立占有一部分系统资源。线程是进程的执行单元,一个进程可以有多个线程,这些线程共享进程的资源。所以线程之间的通信容易些。一般用多线程编程,因为多进程需要更大的资源消耗,通信和同步都更复杂一些。
2,双指针,快指针每次走两个节点,慢指针每次走一个。快指针走到尾部时,慢指针指向中间节点。
3,这和数据本身还是有一定关系的。如果能用计数排序等线性排序算法的,那么就用计数排序。否则使用修改的快速排序去找中位数。快排中有个partition函数,每次能找到一个点,该点位于排序之后在数组之中的最后位置,不断递归,使得这个点每次都逼近中位数。
4,不懂。
5,如果该变量属于类的而不是类的某个对象的那么就用静态变量,实现类的所有对象之间共享。
举例:类Student,有个成员变量stu_num用来统计Student个数的,它不属于某个具体的学生,但是属于类,就应该声明为静态类型。
如果你想在类的所有对象中共享数据,也可以将数据设为静态的。
[解决办法]
线程是进程的执行单元,一个进程可以有多个线程