20162321王彪 2016-2017-2《程序设计与数据结构》课程总结

2024-02-03 15:40

本文主要是介绍20162321王彪 2016-2017-2《程序设计与数据结构》课程总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

20162321王彪 2016-2017-2《程序设计与数据结构》课程总结

每周作业链接汇总

1.第一周作业 :第十二章-算法分析。数据的逻辑结构、增长函数和大O符号、算法上下限、算法复杂度的概念、具体算法分析
2.第三周作业 :查找与排序。线性查找,二分查找
3.第五周作业 :掌握栈的应用。理解Collection的抽象设计
4.第七周作业 :理解树抽象数据类型,掌握树的遍历方法,掌握二叉树的实现(数组,链表)
5.第八周作业 :二叉查找树。二叉查找树中添加与删除元素的方法
6.第九周作业 :堆和优先队列。定义堆并讨论它的特殊用途,讨论堆的链式实现方式,定义优先队列和它与堆的关系
7.第十周作业 :图的应用。讨论有向图和无向图,定义图的广度优先遍历和深度优先遍历,定义最小生成树,讨论图的实现策略
8.第十一周作业 :邻接矩阵实现。删除与添加元素的方法。

  • 自认为写的最好的一篇博客是:第一周作业 。

    第一周作业个人觉得总结很仔细,虽然知识很基础但是对每个知识点都有很好的理解,对知识模块的分类很明确。总之踏踏实实就是好!

  • 作业中阅读量最高的一篇博客是:第一周作业

    很尴尬依旧是这篇,虽然很基础的知识总结博客,但也许是因为对知识点的总结很充分的原因吧!

实验报告链接汇总
  • 1.实验一 线性结构

    • ArrayList和LinkedList测试
    • 分别用Java的ArrayList和LinkedList实现有序线性表的合并
    • 参考Java Foundation 3rd 第15.6节,用数组实现线性表List
    • 参考Java Foundation 3rd 第15.7节,用链表实现线性表List
    • 源码分析
  • 2.实验二 树

    • 参考教材p375,完成链树LinkedBinaryTree的实现
    • 中序先序序列构造二叉树
    • 决策树的实现
    • 表达式树的实现
    • 二叉查找树的实现
    • 对Java中的红黑树(TreeMap,HashMap)进行源码分析
  • 3.实验三 总结博客

    • 完成教材P302 Searching.Java ,P305 Sorting.java中方法的测试
    • 重构代码,把Sorting.java Searching.java放入cn.edu.besti.cs1623.(姓名首字母+四位学号)包中把,测试代码放test包中
    • 在Searching中补充查找算法并测试
    • 补充实现课上讲过的排序方法:希尔排序,堆排序,桶排序,二叉树排序等
    • 编写Android程序对各种查找与排序算法进行测试
  • 4.实验四 图的实现与应用

    • 用邻接矩阵实现无向图
    • 用十字链表实现无向图
    • 实现PP19.9
  • 5.实验五 数据结构综合应用

    • 编译运行测试
    • 代码分析
    • 代码修改
代码托管链接
  • 给出statistic.sh的运行结果,说明本学期的代码量目标达到没有?
    1065456-20171225160442650-165521134.jpg

1065456-20171225160500587-912817608.jpg

  • 加点代码,改点代码是理解的最好方式,参考编程的智慧,谈谈你的心得

    参考编程的智慧我有心得如下:
    记得在图地实现这一章的学习和试验中,对图类的方法中删除边和结点操作的方法代码不停的修改,降低复杂度,使代码更加优美简洁。
    在小组项目的最后冲刺阶段,我和同组张泰毓同学一起结对编程对游戏类方法优化并调试BUG,使得代码更加的稳固
    每次加点代码,改点代码都会觉得之前的脑子是多么不灵光,每次的修改都是一次学习的过程,能做出之前想不到的成果。

  • 积极主动敲代码做到没?教材实践上有什么经验教训?

    积极主动敲代码我认为是做到的,不过到现在还是有一些目标未达成,还需要坚持练手,比如,堆的数组实现方式到现在的实现方法还是有些许问题。最近都在未小组游戏的代码进行优化,以及新的游戏逻辑的构建总之每天都有有效的练手
    这学期对教材上的PP作业,完成度不是很高,到是对于章节中留作程序设计作业的问题有一些了解和解决,对于教材我经验是:要学会发散,学会总结,对于书中未详细讲述的知识要充分查阅资料。要学会将代码规范为与书中一致的简洁与美观。

课堂项目实践

1.课堂实践 Bag类 :运用泛型做一个类似Bag(装填,倒出)的类
2.杨辉三角 :打印杨辉三角

  • 课堂实践对提高应用能力有帮助吗?

    课堂实践对应用能力还是有一定帮助的。但是我觉得课堂实践的方式有点问题,我认为的课堂实践过程应该是:老师会简要讲述课堂实践题目的要求和注意事项;在实践的过程中老师会不时对同学的疑惑做统一讲解;快结束时,会抽调同学的代码做示例来做分析和讲解,我觉得这个是很重要的,即可帮助同学提高代码能力还可以促进相互学习。

  • 课堂实践上自己有什么经验教训?

    我的经验是知道实践的题目后不要着急动手写代码,先要具体分析,脑中构思好伪代码,做好需求分析。着急下手的话,目无章法,就算编好程序,也会出现各种问题。

  • 课堂实践上对老师有什么教学建议?

    唯一的建议就是前面所说的:抽调部分同学的代码做示例来做分析和讲解,我觉得这个是很重要的,即可帮助同学提高代码能力还可以促进相互学习。

课程收获与不足
  • 自己的收获(投入,效率,效果等)

    这学期自己对课程的投入比之前更多,但好似从分数表现来看,有点问题的,但这都不是问题,学到了就是学到,我是绝不会去作假的,能力是自己的,是从别人那拿不来的。

  • 自己需要改进的地方

    从网上,书中看到知识要及时记录消化并且实践运用。

  • 结对学习是不是真正贯彻了?写一下你提供的帮助或接受了什么帮助,并对老师提供参考建议

    课程前几周我和刘先润的结对学习倒是很认真。在项目冲刺中,我们小组其实冲刺了十天,每天晚上我们四个人都很认真在一堆讨论游戏代码,游戏界面,BUG等。感觉还是很不错的。
    关于结对的建议:我觉得可以讲一次课堂实践用作结对编程,在课堂上结对的两人用一台电脑编写程序,同样抽调部分同学的代码做示例来做分析和讲解。

问卷调查
  • 你平均每周投入到本课程有效学习时间有多少?

    每天一两个小时,确保高效。确保有所收获

  • 每周的学习效率有提高吗?你是怎么衡量的?

    没有具体衡量过。每周的实验不同,但效率至少没有下降。

  • 蓝墨云班课的使用对你的学习有促进吗?有什么建议和意见吗?

    这学期对蓝墨云班课的运用不足。

  • 你觉得这门课老师应该继续做哪一件事情?

    鼓励课外学习,保持代码的严格审批

  • 你觉得这门课老师应该开始做什么新的事情?

    实践课上抽调部分同学的代码做示例来做分析和讲解。

博客二维码
  • 第一周 1065456-20171224212921225-91326302.png
  • 第三周1065456-20171224213021006-531665588.png
  • 第五周1065456-20171224213032959-1180369729.png
  • 第七周1065456-20171224213043053-561502265.png
  • 第八周1065456-20171224213056725-1899636017.png
  • 第九周1065456-20171224213106990-1784433809.png
  • 第十周1065456-20171224213119803-1708590922.png

  • 第十一周1065456-20171224213127365-590773747.png

  • 课堂实验-Bag1065456-20171224213158834-1631978621.png
  • 课堂实践-杨辉三角1065456-20171224213227068-1222971975.png

  • 实验一1065456-20171224213313865-1394490456.png

  • 实验二1065456-20171224213320568-2058048014.png

  • 实验三1065456-20171224213327225-1255367399.png

  • 实验四1065456-20171224213332787-388430626.png

  • 实验五1065456-20171224213338303-762914641.png

转载于:https://www.cnblogs.com/wbiao21/p/8098279.html

这篇关于20162321王彪 2016-2017-2《程序设计与数据结构》课程总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/674625

相关文章

Kubernetes常用命令大全近期总结

《Kubernetes常用命令大全近期总结》Kubernetes是用于大规模部署和管理这些容器的开源软件-在希腊语中,这个词还有“舵手”或“飞行员”的意思,使用Kubernetes(有时被称为“... 目录前言Kubernetes 的工作原理为什么要使用 Kubernetes?Kubernetes常用命令总

Python中实现进度条的多种方法总结

《Python中实现进度条的多种方法总结》在Python编程中,进度条是一个非常有用的功能,它能让用户直观地了解任务的进度,提升用户体验,本文将介绍几种在Python中实现进度条的常用方法,并通过代码... 目录一、简单的打印方式二、使用tqdm库三、使用alive-progress库四、使用progres

Android数据库Room的实际使用过程总结

《Android数据库Room的实际使用过程总结》这篇文章主要给大家介绍了关于Android数据库Room的实际使用过程,详细介绍了如何创建实体类、数据访问对象(DAO)和数据库抽象类,需要的朋友可以... 目录前言一、Room的基本使用1.项目配置2.创建实体类(Entity)3.创建数据访问对象(DAO

Java向kettle8.0传递参数的方式总结

《Java向kettle8.0传递参数的方式总结》介绍了如何在Kettle中传递参数到转换和作业中,包括设置全局properties、使用TransMeta和JobMeta的parameterValu... 目录1.传递参数到转换中2.传递参数到作业中总结1.传递参数到转换中1.1. 通过设置Trans的

C# Task Cancellation使用总结

《C#TaskCancellation使用总结》本文主要介绍了在使用CancellationTokenSource取消任务时的行为,以及如何使用Task的ContinueWith方法来处理任务的延... 目录C# Task Cancellation总结1、调用cancellationTokenSource.

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

【数据结构】——原来排序算法搞懂这些就行,轻松拿捏

前言:快速排序的实现最重要的是找基准值,下面让我们来了解如何实现找基准值 基准值的注释:在快排的过程中,每一次我们要取一个元素作为枢纽值,以这个数字来将序列划分为两部分。 在此我们采用三数取中法,也就是取左端、中间、右端三个数,然后进行排序,将中间数作为枢纽值。 快速排序实现主框架: //快速排序 void QuickSort(int* arr, int left, int rig

git使用的说明总结

Git使用说明 下载安装(下载地址) macOS: Git - Downloading macOS Windows: Git - Downloading Windows Linux/Unix: Git (git-scm.com) 创建新仓库 本地创建新仓库:创建新文件夹,进入文件夹目录,执行指令 git init ,用以创建新的git 克隆仓库 执行指令用以创建一个本地仓库的

6.1.数据结构-c/c++堆详解下篇(堆排序,TopK问题)

上篇:6.1.数据结构-c/c++模拟实现堆上篇(向下,上调整算法,建堆,增删数据)-CSDN博客 本章重点 1.使用堆来完成堆排序 2.使用堆解决TopK问题 目录 一.堆排序 1.1 思路 1.2 代码 1.3 简单测试 二.TopK问题 2.1 思路(求最小): 2.2 C语言代码(手写堆) 2.3 C++代码(使用优先级队列 priority_queue)