没有合适的资源?快使用搜索试试~ 我知道了~
数据结构(Python语言描述)(微课版)-教案.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
85 浏览量
2022-07-08
10:12:17
上传
评论
收藏 1.04MB PDF 举报
数据结构(Python语言描述)(微课版)-教案.pdf数据结构(Python语言描述)(微课版)-教案.pdf数据结构(Python语言描述)(微课版)-教案.pdf数据结构(Python语言描述)(微课版)-教案.pdf数据结构(Python语言描述)(微课版)-教案.pdf数据结构(Python语言描述)(微课版)-教案.pdf数据结构(Python语言描述)(微课版)-教案.pdf数据结构(Python语言描述)(微课版)-教案.pdf数据结构(Python语言描述)(微课版)-教案.pdf
资源推荐
资源详情
资源评论












数据结构(Python 语言描述)(微课版)-教案
教学单元:数据结构(本科)课程概述(2 学时)
授课班级:17 软件 4、5、6 班
教学内容提要:
1 课程简介:地位(考研、软件开发岗位必考),在专业知识体系中的位置,就业
岗位等;
2 课程主要内容及学时分配;
3 课程考核方式;
4 课程学习方法;
5 算法的基本概念和术语;
6 Java 语言编程回顾。
教学目的:
1 了解该课程所研究的内容、作用和发展状况,就业岗位,可以考取的证书等;
2 了解算法基本概念和术语;
3 在Eclipse环境下编辑一个简单的求最大公约数的程序。
教学重点、难点:
1 数据结构、算法、算法复杂度的基本概念;
2 如何把现实的问题抽象出来,建立模型,设计算法,再分析算法的复杂度,并选
取合适的语言编码实现。
教学方法:
通过动画演示,提问,采用讲授、启发引导、学生自己动手做相结合。
教学过程设计:
1、利用CC 网,介绍课程的资源:老师搭建的hustoj在线评测网站、几本教材的
PPT、Java软件等供他们下载,自学,要求他们主动学习,提供参考资料给他们;
2、介绍学习方法,课堂及作业要求、纪律要求、考核方式等;
3、了解学生:有多少人数准备继续深造(出国,考研等),多少人准备从事软件
开发,自己创业等;
1

4、介绍课程的作用,在专业课程中的地位,对个人提升的重要性等,特别强调所
有的相关计算机专业的考研以及高级程序员、系统分析师的考试、另外招聘程序员
的面试笔试等都会考相关的算法等;
5、介绍课程的主要内容和学时分配;
6 、鼓励他们考取高级证书,提前到招聘会或者招聘网站上了解最新的岗位需求,
提前学些前沿的技术,为就业作准备,介绍一些学生就业情况
7、通过最大公约数、一列数中第k大数等例子,介绍计算机算法可以解决的实际问
题,引出算法、算法评价指标和算法复杂度等基本概念,并要同学举例说明:现实
世界中的有哪些运用计算机算法的地方?
课堂提问:
1、最小公倍数怎么计算?
2、n个数中第k大数,当数字的个数n非常巨大,而k比较小时,采用什么样的算
法,当k的阶和数字个数n相当时,又该如何计算?
小结:
1)初步认识算法基本概念和术语,一定要分清程序和算法是完全不同的两个概
念;
2)了解课程章节的安排规律;
3)基本熟悉Java环境的使用,知道如何在Java中进行算法编程。
作业:习题1(简答1-3,7,8)
预习:算法复杂度分析
复习:Java与算法相关的类库和这些类的使用
教学单元:数据结构 A——线性表基础(3 学时)
授课班级:17 软件 4、5、6 班
教学内容提要:
2 线性表的定义、分类和实现
2

2.1 线性表的顺序表示和实现
1) 线性表的顺序表示:指的是用一组地址连续的存储单元依次存储线性表的数据
元素。用物理位置来表示逻辑结构。
LOC(a
i+1
)=LOC(a
i
)+l
LOC(a
i
)=LOC(a
1
)+(i-1)*l
2) 顺序表的特点:随机存取
3) 顺序表的运算
顺序表容易实现访问操作,可随机存取元素。但是插入、删除操作是需要移动
大量的元素。
2.2 线性表的链式表示和实现
2.2.1 单链表:
1) 单链表概念
2) 单链表的存储结构定义
3) 单链表的操作:
算法思想:单链表是非随机存取结构。每个元素的位置信息都包含在前驱结点
的信息中,所以取得第i个元素必须从头指针出发寻找。设置一个指针变量指向第
一个结点,然后,让该指针变量逐一向后指向,直到第i个元素。
插入操作:要在数据元素a和b 之间插入元素x。
3.2.2 掌握循环链表、双链表及静态链表存储结构及其运算实现
教学目的:
1 了解线性表和链表、单链表、双向链表的定义;
2 了解单链表的存储和操作;
3 掌握循环链表、双链表及静态链表存储结构及其运算实现。
教学重点、难点:
1 线性表的基本概念;
2 单链表的实现,插入、删除和查询操作。
教学方法:
通过动画演示,提问,采用讲授、启发引导、学生自己动手做相结合。
3

教学过程设计:
1、介绍线性表的基本概念;
2、介绍线性表的顺序存储和链式存储结构
对比顺序存储和链式存储的内存组织方式,让学生了解要根据实际场景选择合
适的存储结构;
介绍单链表、双向链表的逻辑结构,并画出示意图(黑板);
3、提问单链表的插入、删除和查询操作如何实现;
4、让学生完成一个简单的链表插入节点和删除节点的程序;
提示学生一定要注意要判断引用不为空。否则引发空指针异常。
5、介绍双向链表的节点定义以及插入、删除和查询操作
课堂提问:
1、能开整数数组大小最大多少?为什么可用内存还有很多?
2、数组(顺序存储结构)插入、删除和查找节点的时间复杂度
3、单链表(链式存储结构)插入、删除和查找节点如何实现?这些操作的时间复
杂度是多少?
小结:
3)初步认识线性表基本概念和术语,一定要分清线性表的线性存储和链式存储是
完全不同的逻辑结构;
4)介绍多种链表的逻辑结构;
3)教会如何实现单链表和双向链表。
作业:作业3、4
预习:有序线性表
复习:常见数据结构
教学单元:《数据结构(本科)》 有序线性表广义(6 学时)
授课班级:16 计科 1、16 计科 2
教学内容提要:
3.4 有序线性表
4

3.4.1 有序线性表的顺序存储
4) 有序线性表的顺序存储结构的特点
相关概念:顺序存储、数组、二分查找
5) 顺序存储结构的优点:
二分查找查找非常高效
6) 顺序存储结构的缺点:
增加和删除操作,需要移动大量元素,效率低。
3.4.2 有序线性表的链式表示和实现:
4) 链式存储结构定义(链表节点)
5) 有序链表的操作:
算法思想:单链表是非随机存取结构,所以从头节点出发寻找合适的位置插入
节点。找到第一个比待插入节点值大的节点(假设为节点N),待插入节点就放在
节点N前面即可。
6) 有序链表的作业1——多项式相加
7) 有序链表的作业2——多项式相乘
3.5 广义表
3.5.1 广义表的定义
3.5.2 广义表的创建的递归算法
教学目的:
1 了解有序线性表的定义和分类;
2 掌握有序数组的存储和二分查找操作;
3 掌握有序链表的存储结构及其操作实现:插入、更新和删除;
4 掌握广义表的存储结构及其操作实现:插入、更新和删除;
教学重点、难点:
1 有序数组的二分查找;
2 有序链表的实现,插入、删除和查询操作;
3 广义表创建的递归算法
5
剩余22页未读,继续阅读
资源评论

G11176593
- 粉丝: 2154
- 资源: 1万+

上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助

会员权益专享
安全验证
文档复制为VIP权益,开通VIP直接复制
