Java教程

面试题-Java中级篇(12)

本文主要是介绍面试题-Java中级篇(12),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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

这篇关于面试题-Java中级篇(12)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!