18智联4社会实践活动
主讲人:张勇锋
实践时间:7.24~30
壹
ONE
7.24
今天7月24号是我们暑假社会实践的第一天,会议开始定在晚上7:30,大概一个小时的课程,这个活动以教学算法与数据结构为主以讲解Intellij的使用为辅.首先主讲人为大家介绍了算法和数据结构这门课程的地位和课程简介,主要介绍了课程的重要性,然后简单讲了求解问题的一般步骤和数据结构与算法的例子,重点讲了什么是数据结构和算法还有分析算法的复杂度。最后给同学做了几个分析算法复杂度的练习题还讲解了试除法求约数和求最大公约数的方法,并演示了这两个求约数的代码。同学们总体都很认真,主讲人布置的课堂作业也很快完成。
贰
TWO
7.25
实践活动第二天,主讲人先给大家回顾了昨天上课遇到的数据逻辑结构类型,然后讲了线性表的定义、前驱、直接前驱、后继、直接后继、节点,接着让大家判别了哪些是线性结构,在一些枯燥的知识点带过之后主讲人让大家展示了各自操作系统的内存大小(winodws,linux)和讲解了整型数组能申请最大长度。实现的顺序表基本操作的代码过程中还出现了问题,比如控制台中文乱码,还有输出结果不符合预期结果,最后经过主讲人检查找出了导致错误的地方,还解释了错误的原因
叁
THREE
7.26
今天7月26号是我们暑假社会实践的第三天,会议开始在中午2:00,开课先快速讲完昨天留下的约瑟夫环题,接着讲了栈和队列(硬堆栈和软堆栈),然后从栈的概念开始讲解做了一下相关的题目,接着讲到栈的动态顺序存储表示、静态顺序存储表示栈的链式表示,展示了栈的链式表示之后举例讲了有关栈的例子,比如上下电梯,火车进站等,之后就讲到栈和递归调用的实现例如求n的阶乘问题,然后主讲人写了迷宫问题的代码,边写边讲解,然后讲起全排列的思路,留作作业给大家。
肆
7.27
第四天从讲了树的概念和定义,然后讲了树这个知识里的基本术语,让学员们明白结点、结点的度、树的度、结点的关系、二叉树的定义,重点讲二叉树的性质,先让学员发现二叉树其中的一个性质2(第i层上至多有个2i-1结点),然后讲到深度为k的二叉树至多有个2k-1节点性质3,最后讲完性质1(n0=n2+1),然后重点讲满二叉树、完全二叉树、非完全二叉树的概念,并用ppt图让学员以图片的形式记住这3颗树,因为时间原因,先没有讲上面提到的3颗树的性质,而是先展示了一下二叉树的代码,用画图工具讲解,然后写了二叉树的先序遍历、中序遍历、后序遍历。
伍
FOUR
7.28
第五天从昨天的中序遍历部分开始,主要是讲中序遍历、后序遍历、层次遍历的思路,然后展示三个代码部分给学员讲解,接下来便叙述了二叉树遍历算法的应用,然后让同学们思考如果给出两种遍历是否能确定二叉树的结构,思考时间结束后并用3d画图举例子讲解。然后再给出作业题目让同学们做出“给出两种遍历得出第三种遍历”的代码,再继续讲解了二叉树的表示法、树与二叉树的转换(重点讲了树转换成二叉树)、树和森林的遍历,讲完这些知识点已经用来很多时间了,在临近3:00的时候讲完第四章,然后抽出点时间讲了一下前天(第三章)未讲的题目(括号匹配)。
陆
7.29
第六天从前天讲的第三章未讲的题目开始,代码演示和3d画图讲解,把重点的地方将给学员听,中间都是这样演示讲解代码的,准备讲到组合问题的时候主讲人突然看到自己曾经在CSDN博客写的题解中有括号匹配的题目,重点是括号匹配的题目配有主讲人之前制作的动态图就再用这个博客讲一下括号匹配的题目,主讲人先是看了一会代码回顾一下,让后给我们讲清楚代码,最后演示动态图加深理解,讲完括号匹配后才开始讲组合问题,然后主讲人看到博客有一元多项式的题便也讲了那题,
柒
7.30
今天7月30号是我们暑假社会实践的第七天,会议开始在中午2:00,进行一个小时的课程,今天主要讲解昨天的第二章未讲完的题目,还有第六章《图论》里的代码片段(构建图的代码)。先是讲合法出栈的题,主要是让同学们复习栈的内容,再又讲到线性链表的代码(从头/尾部插入、增删改),单链表的倒置(迭代和递归方法),然后用已写好的代码试运行演示了一次,然后重点讲了构建图的类,在Graph类中主要讲解添加点链接边的两个方法,在Mystack类中(有stack类)讲解了入栈出栈两个操作,接下来重点就是讲遍历图的方法(dfs)。最后,同学们都对自己7天来的学习做个检验,至此本次数据结构与算法的社会实践活动就结束了。
最后
写在最后
本次实践活动采用线上授课和相关作业辅助,从数据结构的定义讲起,逐渐延伸到其他知识点。主讲人的精心备课和课上学员们的积极主动,使得本次实践活动圆满结束。相信通过这次的社会实践活动,学员们都熟悉了算法和数据结构的相关知识,在之后的学习上也能更加顺畅。
18计应4
创造更多价值
预览时标签不可点收录于话题#个上一篇下一篇