Java第十八天——小结

一.面向对象与面向过程相比, 有哪些优势?

1.OOP 更加能够应对大规模复杂程序的开发

2.OOP 风格的代码更易复用、易扩展、易维护

3.OOP 语言更加人性化、更加高级、更加智能

二.比较线性表和链表的异同.分析线性表和链接的优缺点.

1.线性表顺序存储结构:用数组(连续存放的)来存储的线性表就是顺序表;线性表链式存储结构:  存储在链表上:d单链表,双链表,循环链表.

2.当线性表需要频繁查找,较少插入和删除时,宜采用顺序存储结构。若需要频繁插入和删除,宜采用单链表

当线性表的元素个数变化较大或不确定时,最好用单链表,这样不需要考虑存储空间大小问题。当事先知道线性表的大小长度,用顺序存储结构效率会高一些。

线性表、包括顺序表和链表 顺序表里面元素的地址是连续的, 链表里面节点的地址不是连续的,是通过指针连起来的。

线性表 1:元素个数有限 2:元素类型相同  3:逻辑上元素有先后次序 4:仅讨论元素间的逻辑关系

线性表是逻辑结构,顺序表和链表是存储结构

三.分析调拭程序常见的问题及解决方案.

1.常见的就是数组越界,一般都是由数值设计不合理导致的,更改数值基本就能解决。

四.分析链队列与循环队列的优缺点.

1、从时间上,其实它们的基本操作都是常数时间,即都为0(1)的,不过循环队列是事先申请好空间,使用期间不释放,而对于链队列,每次申请和释放结点也会存在一些时间开销,如果入队出队频繁,则两者还是有细微差异。

2、对于空间上来说,循环队列必须有一个固定的长度,所以就有了存储元素个数和空间浪费的问题。而链队列不存在这个问题,尽管它需要一个指针域,会产生一些空间上的开销,但也可以接受。所以在空间上,链队列更加灵活

总的来说,在可以确定队列长度最大值的情况下,建议用循环队列;

如果无法预估队列的长度,则用链队列。

 用数组实现队列时,如果不移动,随着数据的不断读写,会出现假满队列的情况。即尾数组已满但头数组还是空的。循环队列也是一种数组,只是它在逻辑上把数组的头和尾相连,形成循环队列,当数组尾满的时候,要判断数组头是否为空,不为空继续存放数据,可以有效的利用资源。但是用循环队列有个小麻烦,不好判断数列是为空还是为满。

五.第 18 天建立的两个队列, 其区别仅在于基础数据不同, 一个是 int, 一个是 char. 按这种思路, 对于不同的基础数据类型, 都需要重写一个类, 这样合理吗? 你想怎么样?

 当然是觉得不合理呀,所以当时想的是用泛型来解决这个问题,代码正在实现中,而且我对泛型也不是很了解,不知道能不能够实现。但我相信随着时间的推移这是肯定能行的。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值