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

15248252144dzx 15248252144dzx     2023-01-01     664

关键词:

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

教材学习内容总结

本周主要学习了第三章和第四章的内容
第三章 集合概述——栈
3.1集合
集合是一种聚集组织了其他对象的对象。
集合可以分为两大类线性集合和非线性集合
线性集合:其元素按直线方式组织的集合。
非线性集合:其元素按某种非直线方式组织的集合。例如按层次结构或按网状结构。
3.1.1抽象数据类型
集合十一找给你隐藏了实现细节的抽象
数据类型:一组值及作用于这些数值上的各种操作。
抽象数据:类型(Absttract Data Type, ADT)是一种在程序设计语言中尚未定义气质和操作的数据类型。
数据结构:一种用于实现集合的编程结构集。
3.1.2
java集合API:java程序设计原因一个支持软件开发的庞大类库中的一部分。
3.2 栈集合
栈是一种线性集合,其元素的添加和删除都是在同一端进行的,我们称栈是后进先出。

操作 描述
push 添加一个元素到栈的顶部
pop 从栈的定不溢出一个元素
peek 查看栈顶部的元素
isempty 确定栈是否为空
size 确定栈的元素数目

3.3 主要的面向对象的概念
为了实现良好的重用性,我们就必须考虑到类型兼容性和类型检查
3.3.1继承与多态性
多态引用是一个引用变量,他可以在不同的地点引用不同类型的对象。继承可用于创建一个类层次,其中,一个引用变可用于指向与之相关的任意对象。
3.3.2 泛型
java语言允许用户基于泛型来定义类。我们可以定义一个类,一边他能储存、操作和管理其他对象。
3.4 使用栈计算后缀表达式
中缀表达式是正常运算式,而中缀表达式则是根据运算顺序将中缀表达式的运算符置后。后缀表达式不中缀表达式利于计算,所以程序设计语言编译器和运算式环境在其内部计算中往往使用后缀表达式。使用栈计算后缀表达式的算法秒数如下:从左到右扫描表达式,一次表示出每个符号(操作符huo9操作数)。如梭是操作数,则把它压入栈中。如果是操作非,则从栈中弹出两个元素,并把该操作符因公在这两个元素之上,当到 大表达式的末尾是,栈中所剩余的元素就是该表达式的计算结果。
3.4.1 javadoc
Javadoc是一种注释风格以/**开始,以*/结束。
3.5 异常
异常是一种对象,它定义了一种非正常或错误的情况。异常由程序或运行时环境抛出,可以按预期的被捕获或被正确处理。
3.6 栈ADT
为栈集合定义了一个Java接口
3.7 用数组实现栈
3.7.1 管理容量
数组中的单元数量 称为该数组的容量。
应当在数组容量已满时,重新定义一个数组扩大容量,并将原数组的数据复制到新数组中。
3.8ArrayStack类
介绍了用数组实现栈,以及各种栈的方法的实现。
第四章 链式结构——栈
4.1 链接作为引用
链式结构是一种数据结构,它使用对象引用变量来创建对象之间的链接。指向对象的变量叫做指针。在链表中储存的对象通常泛称为该链表的节点。
4.2 管理链表
4.2.1 访问元素
需要新创建一个引用变量来替代头指针,因为 如果用头指针直接引用,会丢失数据。
4.2.2插入节点
使前一个节点的next指向新的节点,使新的节点的引用指向下一个节点。
4.2.3 删除节点
使上一个节点的引用指向下一个节点的引用
4.5使用栈来穿越迷宫
模拟递归

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

  • 问题1:引入异常的意义
  • 问题1解决方案:教材中写道,有时出现错误时可以选择抛出异常,但我并不知道这么做的意义何在。后来在网上查阅了一些资料。java引入异常机制,是为了提高系统的健壮性,因为异常会被抛出,但是还可以被捕获处理。这样可以一定程度上提高系统的健壮性,避免发生未知名错误。而且程序员也可以预先设置try-catch语句,来捕获一些医疗之中的异常。

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

  • 问题1:在进行作业3.9的时候,出现了问题,入栈时只要更改元素,显示框内的所有元素都会改变,还有无法出栈。
    技术分享图片
  • 问题1解决方案:结果发现是在getText后面应该在加一个.toString。以及少了一行代码:top--;

代码托管

技术分享图片

上周考试错题总结

  • 错题一
  • 技术分享图片
    原因:因为看错了,没什么好解释的,栈本来就可以储存数据的顺序。
  • 错题二
  • 技术分享图片
    原因:误将2?看成2n,这是一个意外。

    点评模板:

  • 博客中值得学习的或问题:
    • 20172328 李馨雨
      李馨雨同学还是一如既往的认真教材知识总结配上图片,不仅更加一目了然,而且还增加了阅读的趣味。可能是我对知识理解的还不透彻,并不能很有针对性的提出问题,不想李馨雨同学,能将排序法分析的鞭辟入里,头头是道,佩服佩服,今后还要想 李馨雨同学学习,多多学习她的代码博客。

点评过的同学博客和代码

其他(感悟、思考等,可选)

本周又是充实的一周,在新的学习生活中有重新温习了一些旧的知识。温故而知新可以为师矣。这是一条必将伴随我终生的箴言(既然已经选择了程序员这条苦B的道路)。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 30/30 1/1 10/10
第二周 766/796 1/2 40/50

参考资料

1.java为什么要引入异常出来机制
2.蓝墨云班课
3.java软件结构与数据结构





















































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

201723302017-2018-1《Java程序设计》第二周学习总结教材学习内容总结第二章的内容相较于第一周是对计算机系统部件等一系列的概括,这一章讲的则更加专业性,让我们对Java程序中一些基本数据类型和计算表达式有了掌握,以及对... 查看详情

201723042017-2018-2《程序设计与数据结构》第二周学习总结

201723042017-2018-2《程序设计与数据结构》第2周学习总结教材学习内容总结这周主要学习了数据与表达式具体对一些数据的处理和简单的交互应用进行了学习。教材学习中的问题和解决过程问题1:在进行double,float,int的区分时有一... 查看详情

201723242018-2019-1《程序设计与数据结构》第二周学习总结

201723242018-2019-1《程序设计与数据结构》第二周学习总结教材学习内容总结第三章:集合概述——栈集合概念集合是一种聚集、组织了其他对象的对象。集合的使用者(软件系统中的另一个类或对象)只能通过这些预定的方式和... 查看详情

20172304《程序设计与数据结构》第八周学习总结(代码片段)

20172304《程序设计与数据结构》第八周学习总结教材学习内容总结本周主要学习的内容是堆。堆是二叉树的扩展什么是堆堆就是具有两个附加属性的一棵二叉树1.它是一棵完全树。2.对每一结点,他小于或等于其左孩子和右孩子(... 查看详情

201723302018-2019-1《程序设计与数据结构》第二周学习总结(代码片段)

201723302018-2019-1《程序设计与数据结构》第二周学习总结教材学习内容总结集合1.集合是一种对象,类似于保存其他对象的存储库集合中的元素通常是按照他们添加到集合的顺序,或者是按元素之间的某种内在联系来组织的。2、... 查看详情

20165115第二周学习总结

201651152017-2018-2《Java程序设计》第二周学习总结教材学习内容总结第二章教材内容总结:1、标识符与关键字2、基本数据类型3、输入输出数据第三章教材内容总结:1、if语句、switch开关语句2、循环语句3、break与continue语句教材学... 查看详情

20172304《程序设计与数据结构》第四周学习总结(代码片段)

20172304《程序设计与数据结构》第四周学习总结教材学习内容总结第六章主要介绍了列表,这个列表是一种概念上的笼统的定义。列表包括链表和数组。列表分为:有序列表,无序列表,索引列表。有序列表其元素按照元素的某... 查看详情

20172304《程序设计与数据结构》第六周学习总结(代码片段)

20172304《程序设计与数据结构》第六周学习总结教材学习内容总结本周主要学习的是树的内容,树由结点和边组成,位于树中较低层的结点是上一层结点的孩子。一个结点只有一个双亲,统一双亲的两个节点称为兄弟。没有任何... 查看详情

20172311《程序设计与数据结构》第二周学习总结(代码片段)

20172311《程序设计与数据结构》第一周学习总结教材学习内容总结第三章集合概述——栈集合是一种聚集、组织了其他对象的对象,它定义了一种特定的方式,可以访问、管理所包含的对象(称为该集合的元素)集合可以分为两... 查看详情

201723052018-2019-1《java软件结构与数据结构》第二周学习总结(代码片段)

...集合(某种非直线方式组织的集合)抽象数据类型是一种在程序设计语言中尚未被定义其值和操作的数据类型。数据结构是一种用于实现集合的编程结构集。Java集合API是一个 查看详情

《面向对象程序设计(java)》第二周学习总结

《面向对象程序设计(java)》第二周学习总结王颖奇201771010129第一部分:实验目的与要求①理论部分目的与要求(1)3.1基本知识(2)3.2数据类型(3)3.3变量(4)3.4运算符(5)3.5类型转换(6)3.6字符类型(7)3.7输入输出(8)... 查看详情

第二周作业

学号20172313《程序设计与数据结构》第二周学习总结教材学习内容总结这周的学习任务相较于上周来说难度大了一些,相关概念的理解也更抽象了。但看到自己编写的代码能够成功运行还是有一点儿小成就感的。实践出真知!实... 查看详情

第二周学习(代码片段)

学号2016-2017-2《Java程序设计》第2周学习总结教材学习内容总结主要学习了第二章(基本数据类型与数组)和第三章(运算符、表达式和语句)基本数据类型逻辑类型Boolean8字节整数类型int4字节byte1字节short2字节long分配8字节占64... 查看详情

20191214第二周《信息安全导论》学习总结

20191214《信息安全导论》第二周学习总结教材学习内容总结 《计算机概论》第一章我了解到了计算机的基本结构与软件硬件的大致发展历史,我明白了现今的计算机仍未发展到极致,计算机是一种潜力无穷的机器,还等待着... 查看详情

java第二周学习总结

《面向对象程序设计(java)》第二周学习总结实验时间2018-9-61,第三章知识点总结一、基本数据类型:分为整型(4),浮点型(2),字符型,布尔型,一共8种1.整型需要注意的:JAVA整型的范围与运行JAVA代码的机器无关的,所以很难... 查看详情

20165220第二周学习总

1.教材学习内容总结其实现在算算Java学习已经正式学了2周了,从之前觉得很麻烦到现在略微懂了一些,Java这门课程我以前觉得很没意思,想着无非就是对着课本上的代码敲敲打打,然后看看结果然后自己做的时候却什么都想不... 查看详情

2016710101192016-2017-2《java程序设计》第二周学习心得

   本周的学习目标是掌握JavaApplication程序结构、Java的数据类型与变量、输入输出技术、Java流程控制技术(分支,循环)以及String类和数组类的用法。通过一周的学习,掌握了Java共有8种基本类型,比如整数类型、浮... 查看详情

20165311第二周学习总结

第二章内容总结:标识符与关键字基本数据类型输入输出数据第三章内容总结:if语句、switch开关语句循环语句break与continue语句代码调试中的问题和解决过程:中文部分会出现乱码,参考李东骏同学的博客后进行了调试,但是还... 查看详情