1.介绍一下简单工厂模式
简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。
2.简单说明什么是递归?什么情况会使用?并使用java实现一个简单的递归程序。
一、递归函数,通俗的说就是函数本身自己调用自己…
如:n!=n(n-1)!
你定义函数f(n)=nf(n-1)
而f(n-1)又是这个定义的函数。。这就是递归
二、为什么要用递归:递归的目的是简化程序设计,使程序易读
三、递归的弊端:虽然非递归函数效率高,但较难编程,可读性较差。递归函数的缺点是增加了系统开销,也就是说,每递归一次,栈内存就多占用一截
四、递归的条件:需有完成任务的语句,需满足递归的要求(减小而不是发散)
3.线性表如果要频繁的执行插入和删除操作,该线性表采取的存储结构应该是()
A.散列 B.顺序 C.链式 D.索引
答: C
4.在下列排序方法中,不稳定的方法有
A.归并排序与基数排序 B.插进排序与希尔排序
C.堆排序与快速排序 D.选择排序与冒泡排序
答: C
5.一个递归算法必须包括()
A.递归部分 B.终止条件和递归部分
C.迭代部分 D.终止条件和迭代部分
答: B
6.用某种排序方法对关键字排序(25 、84、21、47、15、27、68、35、20)进行排序时,序列的变化情况如下:
20、15、21、25、47、27、68、35、84
15、20、21、25、35、37、47、68、84
15、20、21、25、27、35、47、68、84
则采用的排序方法是()
A.选择排序 B.希尔排序 C.归并排序 D.快速排序
答:D
7.以下哪种排序算法对(1,3,2,4,5,6,7,8,9)进行的排序最快?
A.冒泡 B.快排 C.归并 D.堆排
答: A
8.如果在一个排序算法的执行过程中,没有一对元素被比较过两次或以上,则称该排序算法为节俭排序算法,以下算法中是节俭排序算法的有________。
A.插入排序 B.选择排序 C.堆排序 D.归并排序
答: AD
9.若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则查找A[3]的比较序列的下标依次为()
A.1,2,3 B.9,5,3
C.9,5,2,3 D.9,4,2,3
答: D
10.对一组数据(84,47,25,15,21)排序,数据的排列次序在排序的过程中的变化为(1)84 47 25 15 21 (2)15 47 25 84 21 (3)15 21 25 84 47 (4)15 21 25 47 84则采用的排序方法是()
A.选择 B.起泡 C.快速 D.插入
答: A