日撸Java三百行 day20(小结)

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

对于一个问题,面向过程会把这个问题分成几个小问题,然后在创建有相应功能的函数来解决每一个小问题;对于面向对象来说,它把问题分成多个对象,对象是数据及数据上的操作,通过描述对象的不同属性和行为(使用或重写重载或增加操作)来解决。面向对象比面向过程的复用性更强,比如面向对象子类可以继承父类的方法,包的导入调用等。(了解的很浅显,后续还需多多体会)

2. 比较顺序表和链表的异同.

相同之处:都为线性结构。

不同之处:顺序表在于顺序,需要连续的一片空间来储存,只有所有空间都用于存储数据。链表在于链接,存储不需要连续的一片储存空间,但所属空间需要划分一定空间来存储链接的指针。

3. 分析顺序表和链表的优缺点.

顺序表:优点在于支持随机存取。缺点在于插入删除不方便,可能需要大量移动元素;而需要连续的空间存储,容易导致空间的浪费。

链表:优点在于插入删除方便,只需要增加或删除节点然后修改链接指针即可。缺点在于不支持随机访问,每次访问时都需要遍历链表。

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

变量名大小写错误;这个还好有软件有检测,不过自己编写的时候还是得多细心一点。

涉及到链表的指针变换时容易出错;这个问题画图还挺好解决。

循环出口的边界条件,特别是边界条件即涉及位置序号又涉及数组下标时,多想两下就容易搞糊涂;这个问题得把逻辑写下来,理理清楚逻辑就对了。

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

链队列:基于链表的特性优点在于入队时不用检查是否队满。加上了首尾指针的链队列好像没啥明显缺点,如果在对比循环队列上来说,就是最后一个出队时需要多一步然首尾指针指向同一个位置的操作

循环队列:循环队列出入队都需要检查是否队空队满,一般需要牺牲一个空间或者需要一个标志变量又或者计数变量来区分队空与队满的情况。对比链队列来说,比起用指针头尾指针来控制转换入出队,用下标的头尾指针来控制,后者出错率小一些。(好像有点牵强)

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

不太合理,根据不同的数据类型来写不同的类型的队列,这样固然好理解,但是同时也耗费了太多的时间和空间,复用性太低。int型队列,char型队列,他们都是队列,那就直接建立一个可以被转换类型的队列,使用时需要使用到队列时,就调用这个队列,需要什么就转换成相应的类型。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值