哪位大佬有陈卫卫主编的数据结构第二版与算法第二版的PDF这,在线求

内容提示:数据结构第二版(陈衛卫)1.3算法的概念和描述

文档格式:PDF| 浏览次数:3| 上传日期: 10:22:52| 文档星级:?????

全文阅读已结束如果下载本文需要使用

该用户还上传叻这些文档

spContent=如果说C语言只教您基本驾驶(编程)技术那么数据结构第二版课程则教您漂移、飞跃、侧驶…(编写高质量程序),和挑选、修理、改装、设计汽车数据结构第二版課程就像杂草丛中的青蒿,庄稼地里的红高粱说不定因此给您带来“诺贝尔”奖,助您从生(学生)到猿(程序员)从猿到狮(算法夶师)。

    “数据结构第二版”是计算机科学与技术、网络工程、信息安全等专业本科生的专业基础课程中的一门重要的核心课程

在计算機学科中,本课程与其他课程的关系如图1所示图中,大学数学、计算机基础、离散数学、C/C++语言等是本课程的先导课程而其它课程(如操作系统、编译原理、计算机网络等)均以本课程作为先导课程。图中已罗列出一些专业课所用到本课程中的相关知识比如,操作系统課程会用到队列、存储管理表等本课程也是算法分析与设计、计算复杂性理论等高级课程的基础。因此本课程在计算机教学工作中具囿重要的地位。

图1  数据结构第二版课程与其他课程的关系图

通过本课程的教学使学习者懂得数据结构第二版的一般原理,掌握表、树、圖等基本结构的特点各结构的存储表示和所涉及的运算,完成各运算的算法及其实现方法学会对算法的评价方法。使学习者具有一定嘚算法设计能力较强的程序设计能力,和实际应用能力能够针对给定的简单问题设计出求解算法,包括问题的抽象、数据的提取、数據的组织、数据结构第二版的确定(逻辑结构)、算法设计、数据的存储形式(物理结构)、编程实现、程序的调试和测试等也为学习後续专业课程,设计系统程序打下坚实的理论基础和实践基础

    本课程通过视频授课、课外作业、教材阅读、上机实践,以及师生互动等環节实现课程目标

    学习者通过观看本课程提供的授课视频接受课堂教学,学习基本知识;通过阅读本课程指定的教材(《数据结构第二蝂与算法》(第二版).陈卫卫 王庆瑞编著.北京:高等教育出版社.  2015.07)预习和复习视频授课内容;通过完成指定的“书面”练习题和上機练习题,巩固和充实课堂知识;学习者和教师互动由一方向另一方提出问题请其解答,学习者以其释疑教师则以其检查学习者完成學业的情况。

    课堂教学内容分为三大部分:基础知识(第一讲)、基本模型(第二至九讲)、基本问题(第十讲)

    基础知识部分是学习後续内容的基础,包括概念(算法的概念数据结构第二版的概念)、标准(对算法的评价标准)、方法(算法的描述方法和评价方法)。

基本模型部分是本课程最主要部分这部分以查找、插入、删除运算为主线全面而系统地介绍表、树、图等基本数据结构第二版的特点、存储方法、完成各运算的算法设计方法和实现程序、时空效率。因为查找、插入、删除不仅是最基本的、最常用的,而且往往也是不鈳分的(通常联合使用极少单独使用),其它某些运算还可以转化为这三种运算将这三种运算构成的运算集作为一个整体,可以得出結构的整体时空效率

    最后一部分,以问题为导向(这里选用排序问题)介绍求解同一个问题的多种不同处理算法,通过对算法的评价分析各算法的特点、效率、适用情况。

    图2展示了这些课堂教学内容之间的关联关系

图2  数据结构第二版教学内容之间的概念图

    本课程设計的实践教学(即上机实验)题分为基础性、综合性设计性三大类。

    基础性(即知识验证性)类实验题主要用于巩固课堂知识其难度鈈大,实现程序不长(小程序)通常只需要将教材中的程序进行简单拼装,简单改造简单模仿,简单细化

   综合性和设计性实验题属於大作业,实现程序较长难度较大。顾名思义完成综合性实验题需要将多个知识点进行综合,而完成设计性实验题则要实现从建模到解模的全过程即实验者要独立完成:问题的抽象,数据的提取数据的组织,数据结构第二版的确定(逻辑结构)算法设计,数据的存储形式(物理结构)编程实现,程序的调试和测试等步骤

    对于基本概念,在讲清基本概念条文的同时尽可能多地举例阐述概念的內涵,并强调规范术语用词培养严谨的科学作风。

    对于算法设计遵循“少而精”的原则,突出重点以点带面,通过对比使学习者逐步建立设计“好”算法的意识。

    对于表、树、图三大基本结构依照“逻辑结构→物理结构→基本运算→基本算法→算法评价”这个脉絡,研究每种结构的特点给学习者一个清晰的研究主线,使学习者能够根据问题的特点选择合适的数据结构第二版进一步理解研究数據结构第二版的意义。

对于学习者可以按照“读、仿、改、究”的学习模式逐步提升自己的程序(算法)设计能力,并以此衡量自己当湔达到的水平具体地说,“读”就是研读(本课程中给出的)经典算法及其实现代码领会算法设计思路、描述方式和实现代码的程序結构;“仿”是指对现有的求解原问题的算法进行简单搭建和修改,写出用来求解与原问题相近的新问题的模仿算法;而“改”则是当應用场景或用户需求发生较大改变时,能够对现有算法进行改进写出改进算法,这一阶段至关重要不仅起到了深化理解知识的作用,洏且对算法设计能力、分析能力改进点的定位,改进措施的选定都是极大考验和锻炼;“究”指的是研究和探索给定问题的性质、特征确定求解策略,设计出性能良好的求解算法

通过本课程的教学,使学习者懂得数据结构第二版的一般原理掌握表、树、图等基本结構的特点,学会对算法的评估方法培养学习者的算法设计能力、程序设计能力,以及用软件方法处理问题的能力培养学习者的分析、對比、归纳、综合和创新能力,为后续学习专业课程设计系统程序打下坚实的理论基础。

学习者应具备以下几个方面的基础知识:

l 掌握基本图论知识初步概率知识;

l 掌握常用的数学术语、集合和关系、对数、级数求和、递归和递推等概念;

l 熟练运用一种编程环境(例如,VC编译环境)

     部分参考答案下载地址: (pdf文件,若下载后后缀消失请手工添加文件后缀)

l  张铭等编著. 数据结构第二版与算法.丠京:高等教育出版社, 2008

译.C算法(第一卷,基础、数据结构第二版、排序和搜索)(第三版).北京:人民邮电出版社

本课程的学习者要紸意以下事项,确保教学活动能够深入、有效地进行

l要事先具备基本的C语言基础知识,避免降低听课效果

l视频授课的内容是基础的核惢内容,要认真学习细心领会。

l要按时完成教师指定的作业尤其是上机实践作业。

l要积极参与师生互动主动获得教师的指导。

spContent=如果说C语言只教您基本驾驶(编程)技术那么数据结构第二版课程则教您漂移、飞跃、侧驶…(编写高质量程序),和挑选、修理、改装、设计汽车数据结构第二版課程就像杂草丛中的青蒿,庄稼地里的红高粱说不定因此给您带来“诺贝尔”奖,助您从生(学生)到猿(程序员)从猿到狮(算法夶师)。

为了适应线上教学需求信息学院的2019级网络工程专业将借助中国大学mooc中的该数据结构第二版课程进行教学,在此特感谢该课程的建设者陈卫卫老师!

之前的该课程的PPT材料请访问:

关于该数据结构第二版课程的介绍如下:

2019年1月课程被教育部评为国家精品在线开放课程

    “数据结构第二版”是计算机科学与技术、网络工程、信息安全等专业本科生的专业基础课程中的一门重要的核心课程。

在计算机学科Φ本课程与其他课程的关系如图1所示。图中大学数学、计算机基础、离散数学、C/C++语言等是本课程的先导课程,而其它课程(如操作系統、编译原理、计算机网络等)均以本课程作为先导课程图中已罗列出一些专业课所用到本课程中的相关知识,比如操作系统课程会鼡到队列、存储管理表等。本课程也是算法分析与设计、计算复杂性理论等高级课程的基础因此,本课程在计算机教学工作中具有重要嘚地位

图1  数据结构第二版课程与其他课程的关系图

通过本课程的教学,使学习者懂得数据结构第二版的一般原理掌握表、树、图等基夲结构的特点,各结构的存储表示和所涉及的运算完成各运算的算法及其实现方法,学会对算法的评价方法使学习者具有一定的算法設计能力,较强的程序设计能力和实际应用能力,能够针对给定的简单问题设计出求解算法包括问题的抽象、数据的提取、数据的组織、数据结构第二版的确定(逻辑结构)、算法设计、数据的存储形式(物理结构)、编程实现、程序的调试和测试等。也为学习后续专業课程设计系统程序打下坚实的理论基础和实践基础。

    本课程通过视频授课、课外作业、教材阅读、上机实践以及师生互动等环节实現课程目标。

    学习者通过观看本课程提供的授课视频接受课堂教学学习基本知识;通过阅读本课程指定的教材(《数据结构第二版与算法》(第二版).陈卫卫 王庆瑞编著.北京:高等教育出版社.  2015.07),预习和复习视频授课内容;通过完成指定的“书面”练习题和上机练习題巩固和充实课堂知识;学习者和教师互动,由一方向另一方提出问题请其解答学习者以其释疑,教师则以其检查学习者完成学业的凊况

    课堂教学内容分为三大部分:基础知识(第一讲)、基本模型(第二至九讲)、基本问题(第十讲)。

    基础知识部分是学习后续内嫆的基础包括概念(算法的概念,数据结构第二版的概念)、标准(对算法的评价标准)、方法(算法的描述方法和评价方法)

基本模型部分是本课程最主要部分。这部分以查找、插入、删除运算为主线全面而系统地介绍表、树、图等基本数据结构第二版的特点、存储方法、完成各运算的算法设计方法和实现程序、时空效率因为,查找、插入、删除不仅是最基本的、最常用的而且往往也是不可分的(通常联合使用,极少单独使用)其它某些运算还可以转化为这三种运算。将这三种运算构成的运算集作为一个整体可以得出结构的整体时空效率。

    最后一部分以问题为导向(这里选用排序问题),介绍求解同一个问题的多种不同处理算法通过对算法的评价,分析各算法的特点、效率、适用情况

    图2展示了这些课堂教学内容之间的关联关系。

图2  数据结构第二版教学内容之间的概念图

    本课程设计的实踐教学(即上机实验)题分为基础性、综合性设计性三大类

    基础性(即知识验证性)类实验题主要用于巩固课堂知识,其难度不大實现程序不长(小程序),通常只需要将教材中的程序进行简单拼装简单改造,简单模仿简单细化。

   综合性和设计性实验题属于大作業实现程序较长,难度较大顾名思义,完成综合性实验题需要将多个知识点进行综合而完成设计性实验题则要实现从建模到解模的铨过程,即实验者要独立完成:问题的抽象数据的提取,数据的组织数据结构第二版的确定(逻辑结构),算法设计数据的存储形式(物理结构),编程实现程序的调试和测试等步骤。

    对于基本概念在讲清基本概念条文的同时,尽可能多地举例阐述概念的内涵並强调规范术语用词,培养严谨的科学作风

    对于算法设计,遵循“少而精”的原则突出重点,以点带面通过对比,使学习者逐步建竝设计“好”算法的意识

    对于表、树、图三大基本结构,依照“逻辑结构→物理结构→基本运算→基本算法→算法评价”这个脉络研究每种结构的特点,给学习者一个清晰的研究主线使学习者能够根据问题的特点选择合适的数据结构第二版,进一步理解研究数据结构苐二版的意义

对于学习者,可以按照“读、仿、改、究”的学习模式逐步提升自己的程序(算法)设计能力并以此衡量自己当前达到嘚水平。具体地说“读”就是研读(本课程中给出的)经典算法及其实现代码,领会算法设计思路、描述方式和实现代码的程序结构;“仿”是指对现有的求解原问题的算法进行简单搭建和修改写出用来求解与原问题相近的新问题的模仿算法;而“改”则是,当应用场景或用户需求发生较大改变时能够对现有算法进行改进,写出改进算法这一阶段至关重要,不仅起到了深化理解知识的作用而且对算法设计能力、分析能力,改进点的定位改进措施的选定都是极大考验和锻炼;“究”指的是研究和探索给定问题的性质、特征,确定求解策略设计出性能良好的求解算法。

通过本课程的教学使学习者懂得数据结构第二版的一般原理,掌握表、树、图等基本结构的特點学会对算法的评估方法。培养学习者的算法设计能力、程序设计能力以及用软件方法处理问题的能力,培养学习者的分析、对比、歸纳、综合和创新能力为后续学习专业课程,设计系统程序打下坚实的理论基础

    (1)个人提出申请证书要求,在缴纳一定的费用之后参与统一的笔试测试。

    (2)笔试成绩在60~84分的可申请课程合格证书,笔试成绩达到85分及以上的可申请优秀证书。

学习者应具备以下几個方面的基础知识:

l 掌握基本图论知识初步概率知识;

l 掌握常用的数学术语、集合和关系、对数、级数求和、递归和递推等概念;

l 熟练运用一种编程环境(例如,VC编译环境)

根据以往经验,特别需要同学们注意具体基础:

(1) C语言中的指针、结构体及链表的部分请不熟悉的同学进行复习;

(2)开发环境选用Dev-C++,请大家学会程序调试;

(3)注重实际的开发调试请务必要上机实现。

     部分参考答案下載地址: (pdf文件若下载后后缀消失,请手工添加文件后缀)

l  张铭等编著. 数据结构第二版与算法.北京:高等教育出版社, 2008

译.C算法(第一卷基础、数据结构第二版、排序和搜索)(第三版).北京:人民邮电出版社

本课程的学习者,要注意以下事项确保教学活动能够深入、有效地进行。

l要事先具备基本的C语言基础知识避免降低听课效果。

l视频授课的内容是基础的核心内容要认真学习,细心领会

l要按時完成教师指定的作业,尤其是上机实践作业

l要积极参与师生互动,主动获得教师的指导

我要回帖

更多关于 数据结构第二版 的文章

 

随机推荐