20172311《程序设计与数据结构》第二周学习总结

本文总结了程序设计与数据结构课程中关于栈的知识点,包括栈的概念、分类、实现方法及其在链式结构中的应用。详细解释了栈的后进先出特性、多态引用、泛型的使用限制与转换方法,以及在链表实现中的具体步骤。文章还针对代码实例中遇到的问题,如泛型实例化错误、栈空判断方法的使用等进行了深入探讨与解答,同时分享了学习过程中的错题总结与结对学习成果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

20172311《程序设计与数据结构》第二周学习总结

教材学习内容总结

第三章 集合概述 ——栈
  • 集合是一种聚集、组织了其他对象的对象,它定义了一种特定的方式,可以访问、管理所包含的对象(称为该集合的元素)
  • 集合可以分为两大类:线性集合和非线性集合
  • 元素彼此之间的组织形式通常由元素添加到集合的次序、元素自身之间的一些内在关系决定
  • 集合是一种隐藏了实现细节的抽象
  • 对象是用于创建集合的一种完美机制
  • 数据类型是一组值及作用于这些数值上的各种操作
  • 集合是一种抽象数据类型
  • 数据结构是一种用于实现集合的基本编成结构
  • 栈的元素是按后进先出的方法进行处理的,最后进入栈中的元素最先被移出
  • 多态引用是一个引用变量,它可以在不同地点引用不同类型的对象
  • 一个Object引用可用于引用任意对象,因为所有类最终都是从Object类派生而来的
  • 使用多态引用的数组实现栈行不通
  • 泛型不能被实例化,它只是一个占位符,允许我们去定义管理特定类型的对象的类,且只有当该类被实例化时,才创建该类的对象
  • 异常就是一个对象,它定义了一种非正常或错误的情况。错误与异常类似,只不过错误往往表示一种无法恢复的情况,且不必去捕获它
  • 错误和异常表示不正常或不合法的处理

    第四章 链式结构——栈
  • 链式结构是一种数据结构,他使用对象引用变量来创建对象之间的链接
  • 引用变量有时又称为指针
  • 需要一个单独的引用变量来表示链表的首结点
  • 链表由一些对象构成,其中每个对象指向了链表中的下一个对象
  • 在处理链表的首结点时需特别小心,以正确维护指向整个链表的引用
  • 访问链表的唯一方式是从第一个元素开始,顺着该链表往下进行
  • 栈的链表实现是从链表的一端添加和删除元素

教材学习中的问题和解决过程

  • 问题1:泛型不能被实例化什么意思?如何使用泛型创建一个可以储存所有类型数据的数组?
  • 问题1解决方案:
    泛型不能被实例化的意思可理解为:

试图创建一个泛型数组是错误的,错误代码如下:

Stack stack =new T(initialCapaciry);

使用泛型创建一个可以储存所有类型数据的数组:

首先实例化一个Object数组,然后把它转换为一个泛型数组,代码如下:

Stack stack =(T[])(new Object[initialCapaciry]);

代码调试中的问题和解决过程

  • 问题1:运行PP3_2时出现错误,代码及运行截图如下:
    1332980-20180918232112573-382697366.png
  • 问题1解决方案:
    经与同学讨论得知Stack类判断栈是否为空的方法是.empty(),改正后代码及运行截图如下:
    1332980-20180918232348929-112712705.png

代码托管

1332980-20180918225719671-830559629.jpg

上周考试错题总结

  • 错题1:
    1332980-20180918230129588-559618063.png
  • 理解:当n增大到一定程度时2的n次方远比n的平方增加的快!

  • 错题2:
    1332980-20180918230335398-1268528028.png
  • 理解:算法的阶是通过消除常数和算法增长函数中除主导项以外的所有项来确定的,手残导致答错!!

结对及互评

  • 本周结对学习情况
    对课本上的诸多疑问点进行了讨论,同时对代码实现过程中遇到的一些问题也通过讨论得到了解决

感想

还需继续努力!

学习进度条

代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
目标5000行30篇400小时
第一周0/01/14/4
第一周464/4641/210/14理解掌握了用数组和链表实现栈的方法
  • 计划学习时间:15小时

  • 实际学习时间:10小时

  • 改进情况:提高动手能力,在实现代码中逐渐提高!

参考资料

转载于:https://www.cnblogs.com/zhaoxiaohai/p/9671978.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值