- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构 梁春燕 华北电力大学 信息管理教研室 课程简介 课程简介 数据结构(Data Structure) 必修课 目的: 理解并掌握线性表、栈、队列、树等常见的数据结构 理解并掌握常用的查找、排序、串处理、树的遍历等算法 提高系统分析和系统设计的能力 特点:实践性,实用性 48学时/3学分 课堂讲授:26学时(1-12周) 上机实践:22学时(2-12周) 课程简介 考核方法: 平时成绩:30% 期末考核:70% 教材: 《数据结构(C语言版)》,严蔚敏编著,清华大学出版社 参考书: 《实用数据结构》,徐士良编著,清华大学出版社 为什么要学习数据结构? 从计算机软件技术的发展历史来看 数据库、操作系统、程序设计环境等 从人的思维方式来看 抽象思维 从课程设置来看 程序=数据结构+算法 第一章 绪论 初识数据结构 主要内容 数据结构的基本概念和术语 抽象数据结构类型的表示与实现 算法和算法分析 小结 什么是数据结构 书目自动检索系统 人机对弈问题 UNIX文件系统的系统结构图 多叉路口交通灯管理问题 数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和操作等等的学科。 数据(Data):数据是对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。 数值性数据 如整数、实数、双精度数等 非数值性数据 如字符串、多媒体信息等 数据元素(Data Element): 数据的基本单位(元素、结点、顶点、记录)。 可以有若干数据项组成(字段、域、属性,数据项是数据的不可分割的最小单位) 什么是数据结构? 基本的数据结构 数据结构中数据元素之间的逻辑关系 直接前趋 任一结点A,与它相邻且在A前面的结点B,称B为A的直接前趋 直接后继 任一结点A,与它相邻且在A后面的结点B,称B为A的直接后继 各种数据结构的特点 线性数据结构 非空集,有一个开始结点和一个终端结点,并且所有结点都最多只有一个直接前趋和一个直接后继。 如:线性表、栈、队列 非线性结构 一个结点可能有多个直接前趋或直接后继 如:树、图 数据结构包含以下三方面的内容 数据元素之间的逻辑关系(逻辑结构) 数据元素及其关系在计算机存储器内的表示(存储结构也称物理结构) 数据运算(对数据能施予的操作,全部合理的操作构成数据结构的运算集合) 逻辑结构面向问题,独立于计算机 数据运算定义在数据逻辑结构上 物理结构面向计算机 存储结构的分类 数据类型——指一个值的集合和定义在这个值集上的一组操作的总称。 抽象数据类型 (ADT: Abstract Data Type) 抽象数据类型:一个数学模型以及定义在该模型上的一组操作。 数据的逻辑结构及其在逻辑结构上定义的操作。 独立于具体实现、将数据和操作封装和信息隐蔽。 表示:(D,S,P)——数据、关系、操作 抽象数据类型 定义格式: ADT 抽象数据类型名{ 数据对象:数据对象的定义 数据关系:数据关系的定义 基本操作:基本操作的定义 }ADT抽象数据类型名 抽象数据类型的C语言描述(类C语言,见P10) 算法和算法分析 算法(algorithm)——对特定问题求解步骤的一种描述,是指令的有限序列。 算法特性—— 事例学习:选择排序问题 明确问题:非递减排序 解决方案:逐个选择最小数据 算法框架: for ( i=0; in-1; i++ ) { //n-1趟 从a[i] 到a[n-1],找最小的整数在a[k]; 交换a[i]与a[k]; } 细化程序:程序 SelectSort 算法和算法分析 算法的评价—衡量算法优劣的标准 正确性(correctness) 可读性(readability) 健壮性(robustness) 效率与低存储量需求 算法的效率评价 算法效率——用依据该算法编制的程序在计算机上执行所消耗的时间来度量 1.事后统计——利用计算机内记时功能,不同算法的程序可以用一组或多组相同的统计数据区分。 在算法中的某些部位插装时间函数time ( )测定算法完成某一功能所花费的时间。 缺点:?必须先运行依据算法编制的程序 ?所得时间统计量依赖于硬件、软件等环境因素,掩盖算法本身的优劣 算法的效率评价 2.事前分析估算——一个高级语言程序在计算机上运行所消耗的时间取决于: ?依据的算法选用何种策略 ?问题的规模 ?程序语言 ?编译程序产生机器代码质量 ?机器执行指令速度 同一个算法用不同的语言、不同的编译程序、在不同的计
您可能关注的文档
最近下载
- 高职入学考试英语复习指导丛书—语法专项训练教学课件(第四章数词).pptx VIP
- 2025年秋统编版语文三年级上册全册教学课件(课标版).pptx
- 2025年最新人教版小学二年级数学上册教学计划及进度表(新课标,新教材).docx
- 小区监控系统设计方案.pptx VIP
- 丹方模拟器1.32(新增龙宫草药)(1).xlsx VIP
- 等一朵花开读书分享PPT.pptx VIP
- 2012国际严重脓毒症和脓毒症休克治疗指南(SSC)..doc VIP
- 【免费】小学一年级数学“凑十法”练习题100道 .pdf VIP
- 幼儿园装修工程实施方案(模板范文).docx
- 高中物理必修二学历案.docx VIP
文档评论(0)