一.面向对象与面向过程相比, 有哪些优势?
1.OOP 更加能够应对大规模复杂程序的开发
2.OOP 风格的代码更易复用、易扩展、易维护
3.OOP 语言更加人性化、更加高级、更加智能
二.比较线性表和链表的异同.分析线性表和链接的优缺点.
1.线性表顺序存储结构:用数组(连续存放的)来存储的线性表就是顺序表;线性表链式存储结构: 存储在链表上:d单链表,双链表,循环链表.
2.当线性表需要频繁查找,较少插入和删除时,宜采用顺序存储结构。若需要频繁插入和删除,宜采用单链表
当线性表的元素个数变化较大或不确定时,最好用单链表,这样不需要考虑存储空间大小问题。当事先知道线性表的大小长度,用顺序存储结构效率会高一些。
线性表、包括顺序表和链表 顺序表里面元素的地址是连续的, 链表里面节点的地址不是连续的,是通过指针连起来的。
线性表 1:元素个数有限 2:元素类型相同 3:逻辑上元素有先后次序 4:仅讨论元素间的逻辑关系
线性表是逻辑结构,顺序表和链表是存储结构
三.分析调拭程序常见的问题及解决方案.
1.常见的就是数组越界,一般都是由数值设计不合理导致的,更改数值基本就能解决。
四.分析链队列与循环队列的优缺点.
1、从时间上,其实它们的基本操作都是常数时间,即都为0(1)的,不过循环队列是事先申请好空间,使用期间不释放,而对于链队列,每次申请和释放结点也会存在一些时间开销,如果入队出队频繁,则两者还是有细微差异。
2、对于空间上来说,循环队列必须有一个固定的长度,所以就有了存储元素个数和空间浪费的问题。而链队列不存在这个问题,尽管它需要一个指针域,会产生一些空间上的开销,但也可以接受。所以在空间上,链队列更加灵活。
总的来说,在可以确定队列长度最大值的情况下,建议用循环队列;
如果无法预估队列的长度,则用链队列。
用数组实现队列时,如果不移动,随着数据的不断读写,会出现假满队列的情况。即尾数组已满但头数组还是空的。循环队列也是一种数组,只是它在逻辑上把数组的头和尾相连,形成循环队列,当数组尾满的时候,要判断数组头是否为空,不为空继续存放数据,可以有效的利用资源。但是用循环队列有个小麻烦,不好判断数列是为空还是为满。
五.第 18 天建立的两个队列, 其区别仅在于基础数据不同, 一个是 int, 一个是 char. 按这种思路, 对于不同的基础数据类型, 都需要重写一个类, 这样合理吗? 你想怎么样?
当然是觉得不合理呀,所以当时想的是用泛型来解决这个问题,代码正在实现中,而且我对泛型也不是很了解,不知道能不能够实现。但我相信随着时间的推移这是肯定能行的。