数据结构概述

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
原始数据 结果数据
程序
描述问题领域中实际对象的数据及数据间的相互关系 按照数据及其关系的特点将数据存储到计算机中的存 储器中 编写算法模拟对象领域中的求解过程
数据结构和算法互为存在
问题求解的案例
• 通讯录中联系人查找
姓 名 刘激扬 衣春生 卢声凯 袁秋慧 林德康 洪 伟 熊南燕 宫 力 蔡晓莉 陈 健 手机 1979.12 1979.07 1981.02 1980.10 1980.05 1981.01 1980.03 1981.01 1981.02 1979.12 Email 1979.12 1979.07 1981.02 1980.10 1980.05 1981.01 1980.03 1981.01 1981.02 1979.12
本课程学习要求
要求掌握表、栈、队列、串、数组、树、图等常用 的一些数据结构的逻辑形式、存储形式以及实现各 种操作的算法。 熟练使用STL编写大型程序,能根据用户的要求及系 统提供的数据,设计或选择合适的数据结构并能编 写正确的算法解决实际问题。 了解渐进时间复杂度分析方法,掌握常用算法设计 技术。 参与在软件设计各个阶段的工作,学会设计较复杂 的类来实现特殊的应用;学会调试及锁定性能瓶颈; 学会编写简练、有效和可扩充性好的代码。
数据结构的研究问题: 非数值型数据之间的结构关系, 及如何表示,如何存储,如何处理。 数据结构: 讨论描述现实世界实体的数学模型 及其上的操作在计算机中的表示和实现。
为什么要学习数据结构
• 研究和解决非数值数据的组织和处理
非数值计算问题的数学模型,不再是数学方程
例子:线性表、树、图、集合 • 算法+数据结构=程序 算法和数据结构之间的关系 软件系统的架构应当建立在数据之上
步骤 (1)获取问题的需求 (2)分析问题,从问题抽象出模型 (3)设计阶段,给出解决方案。 (4)估算解决问题的开销,判断其可行性 (5)实现和运行维护
问题求解的过程
通过对 问题的抽象 数据的抽取 算法的设计 分析问题和解决问题,就是应用数据结构 和算法来设计和实现高效程序。
问题求解的实质
数据结构
东北大学软件学院数据结构课程建设小组
本课程学习的目的
通过本课程的学习掌握常用数据结构的逻辑结构特 征、存储结构及相关算法及实现的原理。
学会从问题入手,分析研究计算机加工的数据结构 的特性,以便为应用所涉及的数据设计适当的逻辑 结构、存储结构及其相应的操作算法,并初步掌握 时间和空间分析技术。 学会用C++语言、使用STL进行编程,合理解决问题。 学会书写符合软件工程规范的文件,编写的程序 代码应结构清晰、正确易读,能上机调试并排除错 误。
学时分配及考核方式
学时分配:授课 上机实验 课外实验 课程成绩: 平时成绩 + 期末考试成绩 56学时 8学时 32学时
平时成绩
期末考试
40%
60%
书面作业、上机实验
闭卷笔试
学时安排
教学内容 第1章 第2章 第3章 绪论 数组 链表 讲课 4 4 4 上机时间 小计 4 4 4
第4章
第5章 第6章 第7章 第8章
栈和队列
递归 树与森林 集合与搜索 图
4
4 10 6 8 8 4
4
4
2 10 6
4
12 6 4
第9章 排序 第10章 索引结构与散列


56
8
64
数据结构与算法基础
第一部分:数据结构的概念
内容
为什么要学习数据结构 什么是数据与数据结构 逻辑结构、存储结构及数据的操作

计算机解决问题的方法
问题求解的案例
在百度地图搜索引擎上查找餐馆;
源自文库
问题求解的案例
在百度地图搜索引擎上查找餐馆;
问题求解的案例
软件工程专业要开设的课程中具有先后关系, 为所有课程安排合适的开设顺序;
C1 C2 C3 C4 C5 C6 C7 C8 C9 高等数学 程序设计基础 离散数学 C1, C2 数据结构 C3, C2 高级语言程序设计C2 编译方法 C5, C4 操作系统 C4, C9 普通物理 C1 计算机原理 C8
数据的概念
数据元素:数据中的一个“个体”,也称 “数据记录” 。是数 据结构中讨论的基本单位 。 数据项: 相当于记录的“域”, 是数据的不可分割的最小单位。 是数据结构中讨论的最小单位 。 (原子项、组合项) 数据元素
课程编号 024002 024010 024016 024020 024021 024024 024026 课 程 名 程序设计基础 汇编语言 计算机原理 数据结构 微机技术 操作系统 数据库原理 学时 64 48 64 64 64 48 48

数据的概念
数据:数据是信息的载体,是描述客观事物的数、 字符、以及所有能输入到计算机中,被计算机程 序识别和处理的符号的集合。 数值性数据 非数值性数据 数据对象:数据的子集。具有相同性质的数据成 员(数据元素)的集合。 整数数据对象 N = { 0, 1, 2, … } 学生数据对象
• 数据结构的作用范畴
抽象数据对象的数学模型、明确操作 存储结构上映射数据、实现操作
数据结构
• 数据的逻辑结构 图、树、二叉树、线性表

数据的存储结构
顺序方法 链式方法 索引方法 散列方法

数据的运算 增加、修改、删除
排序、检索
内容
为什么要学习数据结构 什么是数据与数据结构 逻辑结构、存储结构及数据的操作
教材及参考书(1)

教材
殷人昆,陶永雷等编著:《数据结构》(用面向对象方法与 C++描述),清华大学出版社,2005.11
教材及参考书(2)
推荐参考书
Mark Allen Weiss, 《Data Structures and
Problem Solving Using C++》, 影印版,清华
大学出版社。 Herbert Schildt, C++: The Complete
Reference, Fourth Edition , 周志荣等译 ,电
子工业出版社出版
教材及参考书(3)

习题参考书
面向对象方法与C++描述)
2005.7
殷人昆,徐孝凯编著:《数据结构习题解析》(用
清华大学出版社,
相关文档
最新文档