20172328 2018-2019<Java软件结构与数据结构>第二周学习总结 概述 Generalization 本周学习了第三章集合概述--栈和第四章链式结构--栈.主要讨论了集合以及用于实现集合的基本数据结构,以及集合设计的相关问题和目标.本章内容以栈为例展示与集合的设计.实现和使用等有关的问题. 教材学习内容总结 A summary of textbook 3.1集合 集合是一种聚集.组织了其他对象的对象.集合可以分为两大类:线性集合和非线性集合. 线性集合:一种其元素按照直线方式组…
一.学习内容 1.数据库的建立.配置 在官网先下载好MySQL.navicat for MySQL.XAMPP.MySQL-connecter 在XAMPP中点击start开启MySQL 在navicat for MySQL中点击连接,输入信息后确定 在连接名处右击,创建新数据库,输入数据库名,字符集和校对均选择gb2312... 在表处右击,输入表的信息 点开创建的mess表输入信息,按tab键可快速换行 将MySQL-connecter添加到IDEA的module中 输入以下代码,检测数据库…
20172305 2018-2019-1 <Java软件结构与数据结构>第五周学习总结 教材学习内容总结 本周内容主要为书第九章内容: 查找是在某个项目组中寻找到某一指定目标元素,或者确定该指定目标并不存在. 高效的查找会使该过程所做的比较操作次数最小化. 静态方法(类方法)可以通过类名调用,不能引用实例变量,可以引用静态变量.Java程序的main方法必须用static修饰符(声明为静态)来修饰,解释器不用实例化含有main的类的对象,就可以调用main方法. 泛型方法创建一个引用泛型的方法…
20172305 2018-2019-1 <Java软件结构与数据结构>第七周学习总结 教材学习内容总结 本周内容主要为书第十一章内容: 二叉查找树(附加属性的二叉树) 二叉查找树是对树中的每个结点,其左结点都要小于其父结点,而父结点又小于或等于其右结点. 二叉查找树的定义是二叉树定义的扩展. LinkedBinarySearchTree类的相关方法: addElement操作(类似有序列表的添加方法,元素必须是Comparable,不是的话会抛出NoComparableElementExce…
20172305 2018-2019-1 <Java软件结构与数据结构>第三周学习总结 教材学习内容总结 本周内容主要为书第五章内容: 队列 线性集合(元素从一端加入,另一端删除) 先进先出(FIFO) 队列前端(front).队列末端(rear) 队列与栈的不同: 1.队列(FIFO)是先进先出,栈(LIFO)是后进先出. 2.处理方式:在栈中,只在栈的某一端进行:在队列中,可在队列的两端进行. 3.栈的作用是颠倒顺序,队列的作用是保持顺序. 4.常见栈的应用场景包括括号问题的求解,表达式的…
20172305 2018-2019-1 <Java软件结构与数据结构>第四周学习总结 教材学习内容总结 本周内容主要为书第六章内容: 列表 有序列表(元素按照元素内在特性进行排序) 无序列表(元素间不具有内在顺序,元素按照他们在列表中的位置进行排序) 索引列表(元素可以用数字索引来引用) 列表集合比栈和队列更一般化,可以在列表的中间和末端添加和删除元素. 有序列表是基于列表中元素的某种特性的.对于任何已添加到有序列表中的元素,只要给定了元素的关键值,同时列表已定义了元素的所有关键值,那么它在…
20172305 2018-2019-1 <Java软件结构与数据结构>第二周学习总结 教材学习内容总结 本周内容主要为书第三章和第四章的内容: 第三章(以数组来替代栈的作用) 集合(聚集,组织了其他对象的对象): 线性集合(直线方式组织的集合) 非线性集合(某种非直线方式组织的集合) 抽象数据类型是一种在程序设计语言中尚未被定义其值和操作的数据类型. 数据结构是一种用于实现集合的编程结构集. Java集合API是一个类集,表示了一些特定类型的集合. 栈 线性集合 后进先出(LIFO) 栈的基…
20172305 2018-2019-1 <Java软件结构与数据结构>第九周学习总结 教材学习内容总结 本周内容主要为书第十五章内容: 图(结点和结点之间的连接构成) 顶点:结点 边:结点之间的连接 邻接:两个结点之间有一条连通边,则两个结点是邻接的,有时邻接顶点称为邻居. 自循环(环):连通一个顶点及其自身的边 环路:一种首顶点和末顶点相同且没有重边的路径,没有环路的图称为无环的. 无向图:一种边为无序结点对的图 如果无向图拥有最大数目的连通顶点的边,则认为这个无向图是完全的. 对有n个顶…
20172305 2018-2019-1 <Java软件结构与数据结构>第八周学习总结 教材学习内容总结 本周内容主要为书第十二章内容: 堆(附加属性的二叉树) 完全二叉树 (最小堆)对于每一个结点,它小于或等于其左孩子和右孩子. (最大堆)对于每一个结点,它大于或等于其左孩子和右孩子. 最小堆将其最小元素存储在二叉树的根处,其根的两个孩子同样也是最小堆. 最大堆将其最大元素存储在二叉树的根处,其根的两个孩子同样也是最大堆. addElement方法将给定的元素添加到堆中的恰当位置处,且维持该…
20172305 2018-2019-1 <Java软件结构与数据结构>第六周学习总结 教材学习内容总结 本周内容主要为书第十章内容: 树(一种非线性结构,其中的元素被组织成一个层次结构) 结点:树中的一个位置. 边:树中两个结点的连接. 根结点:就是指位于该树顶层的唯一结点.一棵树只有一个根结点,根结点没有父节点. 子结点:一个树中较低层的结点是上一层结点的子结点.位于树中当前结点下面的结点,并由边与之直接连接. 同胞结点:属于同一结点的子结点. 叶结点:没有任何子结点的结点. 内部节点:一…
20172305 2018-2019-1 <Java软件结构与数据结构>第一周学习总结 教材学习内容总结 本周内容主要为书第一章和第二章的内容: 第一章 软件质量: 正确性(软件达到特定需求的程度) 可靠性(软件发生故障的频率和危害程度) 健壮性(很好处理错误情况的情况) 可用性(用户在软件中掌握和运行任务的容易程度) 可维护性(软件进行修改的容易程度) 可重用性(软件组件可被其他软件系统开发使用的容易程度) 可移植性(软件组成可用于多种计算机环境中的容易程度) 运行效率(不浪费资源的情况下软…
课程:<Java软件结构与数据结构> 班级: 1723 姓名: 侯泽洋 学号:20172302 实验教师:王志强老师 实验日期:2018年11月19日 必修/选修: 必修 实验内容 (1)定义一个Searching和Sorting类,并在类中实现linearSearch(教材P162 ),SelectionSort方法(P169),最后完成测试.要求不少于10个测试用例,提交测试用例设计情况(正常,异常,边界,正序,逆序),用例数据中要包含自己学号的后四位提交运行结果图. (2)重构你的代码,…
课程:<Java软件结构与数据结构> 班级: 1723 姓名: 侯泽洋 学号:20172302 实验教师:王志强老师 实验日期:2018年11月5日 必修/选修: 必修 实验内容 (1)参考教材p212,完成链树LinkedBinaryTree的实现(getRight,contains,toString,preorder,postorder:用JUnit或自己编写驱动类对自己实现的LinkedBinaryTree进行测试,提交测试代码运行截图,要全屏,包含自己的学号信息 (2)基于Linked…
课程:<Java软件结构与数据结构> 班级: 1723 姓名: 侯泽洋 学号:20172302 实验教师:王志强老师 实验日期:2018年9月26日 必修/选修: 必修 实验内容 (1)链表练习,要求实现下列功能:通过键盘输入一些整数,建立一个链表,这些数是你学号中依次取出的两位数, 再加上今天的时间.打印所有链表元素, 并输出元素的总数. (2)链表练习,要求实现下列功能:实现节点插入.删除.输出操作,继续你上一个程序, 扩展它的功能,每做完一个新功能,或者写了超过10行新代码,就签入代码,…
20172301 <Java软件结构与数据结构>实验三报告 课程:<Java软件结构与数据结构> 班级: 1723 姓名: 郭恺 学号:20172301 实验教师:王志强老师 实验日期:2018年11月20日 必修/选修: 必修 一.实验内容 实验一 实验二 实验三 实验四 实验五 二.实验过程及结果 实验一: 实验一是比较简单的,代码是书上的代码.主要是Junit测试因为好久没有用过,总是会有一些错误,类似junit测试方法前没有添加test,或者junit测试的assert方法…
20172301 <Java软件结构与数据结构>实验二报告 课程:<Java软件结构与数据结构> 班级: 1723 姓名: 郭恺 学号:20172301 实验教师:王志强老师 实验日期:2018年11月20日 必修/选修: 必修 一.实验内容 实验1 实验2 实验3 实验4 实验5 实验6 二.实验过程及结果 实验1 LinkedBinaryTree因为是之前的程序项目,所以实现起来很容易. getRight()方法,首先在LinkedBinaryTree类里面声明一个全局变量 p…
20172329 2018-2019-2 <Java软件结构与数据结构>实验三报告 课程:<Java软件结构与数据结构> 班级: 1723 姓名: 王文彬 学号:20172329 实验教师:王志强 实验日期:2018年11月19日 必修/选修: 必修 一.实验内容 1.1 第一个实验内容 要求 (1)定义一个Searching和Sorting类,并在类中实现linearSearch(教材P162 ),SelectionSort方法(P169),最后完成测试. (2)要求不少于10个…
20172329 2018-2019-2 <Java软件结构与数据结构>实验二报告 课程:<Java软件结构与数据结构> 班级: 1723 姓名: 王文彬 学号:20172329 实验教师:王志强 实验日期:2018年11月7日 必修/选修: 必修 一.实验内容 1.1 第一个实验内容 要求 (1)参考课本P212使用链表实现二叉树进行对于课本代码的完善以及补全. (2)实现方法getRight方法,contains方法,toString方法,preorder方法,postorde…
20172301 <Java软件结构与数据结构>实验一报告 课程:<Java软件结构与数据结构> 班级: 1723 姓名: 郭恺 学号:20172301 实验教师:王志强老师 实验日期:2018年5月30日 必修/选修: 必修 一.实验内容 实验1:基础链表建立 通过键盘输入一些整数,建立链表:这些数是你学号中依次取出的两位数,再加上今天的时间. 然后打印所有链表元素,并输出元素的总数. 在你的程序中,请用一个特殊变量名来纪录元素的总数,变量名就是你的名字. 例如你叫 张三, 那么…
172322 2018-2019-1 <Java软件结构与数据结构>实验一报告 课程:<程序设计与数据结构> 班级: 1723 姓名: 张昊然 学号:20172322 实验教师:王志强 助教:张之睿/张师瑜 实验日期:2018年9月30日 必修/选修: 必修 1.实验内容 此处填写实验的具体内容: 实验内容过多,故参考作业: 实验一 线性结构之链表(1) 实验一 线性结构之链表(2) 实验一 线性结构之链表(3) 实验一 线性结构之数组(4) 实验一 线性结构之数组(5) 2.实验…
20172328 2018-2019<Java软件结构与数据结构>第一周学习总结 概述 Generalization 本周学习了软件质量.数据结构以及算法分析的具体内容,主要依托于所用教材的第一章和第二章. 教材学习内容总结 A summary of textbook 第一章:概述 1.1软件质量 软件工程:是一门关于高质量软件开发的技术和理论的学科. 软件工程的目标:解决正确性问题.按时且在预算之内给出解决方案.给出高质量的解决方案.以合情合理的方式完成上面事情. 高质量软件的特征 重要解读…
20172328 2018-2019<Java软件结构与数据结构>第三周学习总结 概述 Generalization 本周学习了第五章:队列.主要内容包含队列的处理过程.如何用对例如求解问题.各种队列的实现等. 教材学习内容总结 A summary of textbook 5.1概述 队列是一种线性集合,其元素从一端加入,从另一端删除:队列的顺序是先进先出(First in First out) 与栈的比较:在栈中,其处理过程只在栈的某一端进行,而在队列中,其处理过程可在队列的两端进行. 队列…
20172328 2018-2019<Java软件结构与数据结构>第四周学习总结 概述 Generalization 本周学习了第六章·列表,主要让我们认识列表以及分析各种列表实现. 教材学习内容总结 A summary of textbook ==6.1列表集合== 列表集合是一种概念性表示法,其思想是使事物以线性列表的方式进行组织.列表也可以用链表或者数组实现,列表集合没有内在的容量大小,它可以随着需要而增大. 列表集合有三种类型: 有序列表(ordered list):其元素按照元素的某…
20172328 2018-2019<Java软件结构与数据结构>第五周学习总结 概述 Generalization 本周学习了第九章:排序与查找,主要包括线性查找和二分查找算法和几种排序算法.我们在软件开发过程中要在某一组查找某个特定的元素或要将某一组元素按特定顺序排序,所以要学习排序与查找的多种算法. 教材学习内容总结 A summary of textbook 9.1查找 查找:是一个过程,即在某个项目组中寻找某一项指定目标元素,或者确定该指定目标并不存在. 高效的查找会使该过程所做的比…
20172328 2018-2019<Java软件结构与数据结构>第六周学习总结 概述 Generalization 本周学习了第十章:非线性集合与数据结构--树.主要讨论了树的使用和实现,以及考察实现和使用树的实例. 教材学习内容总结 A summary of textbook 树(tree):树是一种非线性结构,其元素被组织成了一个层次结构.下面是树的术语,了解一下吧! 树有一个包含结点(node)和边(edge)的集构成,其中的元素被储存在这些结点中,边则将一个结点和另一个结点连接起来.…
20172328 2018-2019<Java软件结构与数据结构>第七周学习总结 概述 Generalization 本周学习了第11章:二叉查找树.在本章中,主要探讨了二叉查找树的概念和各种二叉查找树实现,考察为二叉查找树添加和删除元素的算法以及维护平衡二叉查找树的算法 教材学习内容总结 A summary of textbook 二叉查找树(binary search tree):二叉树定义的扩展,一种带有附加属性的二叉树.附加属性是什么?树中的每个节点,其左孩子都要小于其父节点,而父节点…
20172328 2018-2019<Java软件结构与数据结构>第八周学习总结 概述 Generalization 本周学习了二叉树的另一种有序扩展?是什么呢?你猜对了!ヾ(◍°∇°◍)ノ゙就是堆.本章将讲解堆的链表实现and数组实现,以及往堆中添加元素或从堆中删除元素的算法:还将介绍对的一些用途,包括基本使用和优先队列. 教材学习内容总结 A summary of textbook 堆(heap)就是具有两个附加属性的一颗二叉树: 第一点:它是一颗完全二叉树 ,即叶子节点都在最后一层靠左侧…
20172328 2018-2019<Java软件结构与数据结构>第九周学习总结 概述 Generalization 本周学习了无向图.有向图.带权图.常用的图算法.图的实现策略. 教材学习内容总结 A summary of textbook 图(graph) 与树类似,图由结点和这些结点之间的连接构成. [x] 顶点(vertice)就是这些结点. [x] 边(edge)就是这些结点连接起来的线段. [x] 路径(path):图中的一系列边,每条边连通两个顶点. [x] 路径的长度(leng…
2018-2019-20172329 <Java软件结构与数据结构>第五周学习总结 教材学习内容总结 <Java软件结构与数据结构>第九章-排序与查找 一.查找 1.查找概念简述: (1)查找3是这样一个过程,即在某个项目组中寻找某一指定目标元素,或者确定该组中并不存在该目标元素.对其进行查找的项目组有时也称为查找组. (2)查找方式的分类:线性查找,二分查找. (3)查找所要完成的目标:尽可能高效的完成查找,从算法分析的角度而言,我们希望最小化比较操作的次数,通常,查找池里项目数…
2018-2019-20172329 <Java软件结构与数据结构>第九周学习总结 教材学习内容总结 <Java软件结构与数据结构>第十五章-图 一.图及无向图 1.图的相关概念: (1)一个图(graph)G=(V,E)由顶点(vertex)的集V和边(edge)的集E组成.每一条边就是一幅点对(v,w). (2)如果点对是有序的,那么图就是有向的. (3)假如点对是无序的,那么图就是无向的. (4)如果图中的两个顶点之间有一条连通边,则称这两个顶点是衔接的.邻接顶点有时也称为邻…