- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C和数据结构-北京大学中国语言学研究中心
数据结构(一)
常宝宝
北京大学计算机科学与技术系
chbb@pku.edu.cn
基本概念
数据
可以被计算机识别、存储和加工处理的符号的集合。
是计算机操作的对象的总称。
是信息的载体。
例子
数值计算程序(实数或整数)
编译程序(源程序)
图像处理程序(图像)
基本概念
数据元素
组成数据的基本单位。
是数据中的一个“个体”。
又称元素、记录、结点或者顶点。
数据项
数据元素由数据项组成。
是数据结构中讨论的最小单位。
又称域、字段。
基本概念
数据结构
相互之间存在着某种关系的数据元素的集合。
逻辑结构
数据元素之间的逻辑关系。
存储结构
逻辑结构在存储器中的映象。
基本概念
数据的逻辑结构,可形式表示为二元组: L = ( N, R )其中 N 是结点的有限集合R 是 N 上的关系集合
例子
L = ( N, R ) N = { a0, a1, a2 } R = { r } r = { ( a0, a1 ), ( a0, a2 ) }
基本概念
设L=( N, R )是一个逻辑结构,R={ r },若a, b∈N,且关系( a, b )∈r,
则: 称 a 是 b 的 前趋结点, 称 b 是 a 的 后继结点, 称 a 和 b 是 相邻结点, 如果不存在a∈N,使( a, b )∈r ,则称b为始结点, 如果不存在b∈N,使( a, b )∈r,则称a为终结点, 既非始结点又非终结点的结点被称为内结点。
基本概念
数据的逻辑结构
线性结构
树形结构
图状结构
集合结构
基本概念
线性结构 结构中有且仅有一个始结点和一个终结点,每个内结点有且仅有一个前趋结点和一个后继结点。
非线性结构 结构中的结点可能有多个前趋结点和多个后继结点。
基本概念
一行表示一个结点(元素),每个结点由学号、姓名、性别等九个域(数据项)组成。
表的第一行是始结点;最后一行是终结点;中间的行都是内结点。
表的逻辑结构是线性结构。
基本概念
数据的存储结构
“数据元素”的映象
“关系”的映象
数据元素的映象方法 用二进制位(bit)的位串表示数据元素 (321)10 = (101000001)2 A = (001000001)2
基本概念
关系的映象方法
顺序映象 以相对的存储位置表示后继关系
链式映象 以附加信息(指针)表示后继关系
x y
存储结构只含数据元素本身 的信息,无附加信息
链式映象中,存储结构除数据元素本身信息外,需要附加信息指示存储位置
基本概念
算法 是能够解决某类问题的由若干指令组成的有限序列。
一个算法可以用自然语言、程序设计语言或专门设计的伪语言描述。
算法必须满足五个特性:(1)有限性 (2)确定性(3)输入 (4)输出(5)可行性
基本概念
有限性:任何一条指令都只能执行有限次,换句话说,算法必须在执行有限步后结束。
确定性:算法中每条指令的含义必须明确,不允许有二义性,对于相同的输入只能得出相同的输出。
输入:一个算法可以有零个或多个输入数据,这些输入数据取自确定的对象集合。
输出:算法有一个或多个输出,这些输出是同输入有某个特定关系的量。
可行性:算法中的所有操作都必须足够基本,都可以通过已经实现的基本操作运算有限次实现之。
基本概念
算法的设计原则:
正确性
可读性
坚固性(健壮性)
高效率与低存储量需求
基本概念
正确性:说一个算法是正确的,是指对于一切合法的输入数据,该算法经过有限时间(算法意义上的有限)的执行都能产生正确(或者说满足规格说明要求)的结果。
可读性: 可读性好的算法有助于设计者和他人阅读、理解、修改和重用。晦涩难读的程序易于隐藏较多错误。
坚固性: 当输入数据非法时,算法能适当地作出合适的反应。
高效率与低存储量需求:通常,效率指的是算法执行时间;存储量指的是算法执行过程中所需的最大存储空间,两者都与问题的规模有关。
基本概念
目前不存在证明算法正确性的形式化方法
算法正确性的四个层次
程序中不含语法错误;
程序对于几组输入数据能够得出满足要求的结果;
程序对于精心选择的、典型、苛刻且带有刁难性的几组输入数据能够得出满足要求的结果;
程序对于一切合法的输入数据都能得出满足要求的结果;
基本概念
算法效率的衡量方法和准则
两种方法
事后统计法
必须执行程序
其它因素掩盖算法本质
事前分析估算法
基本概念
和算法执行时间相关的因素:
算法选用的策略
问题的规模
编写程序的语言
编译程序产生的机器代码的质量
计算机执行指令的速度
——用绝对的时间单位衡量算法效率不合适
基本概念
撇开影响算法效率的软硬件因素,一个特定算法的“
您可能关注的文档
最近下载
- 餐饮公司食堂管理制度.docx VIP
- 新能源汽车电池极耳激光焊接焊缝成形及组织性能研究.docx VIP
- 部编人教版六年级上册道德与法治【全册】教学设计(67页)(最全).doc
- 餐饮公司食堂规章制度.docx VIP
- 2025年河北省八年级中考生物真题(含答案解析) .pdf VIP
- 人教版高中物理必修二全册知识点考点梳理、重点题型分类巩固练习基础版.doc VIP
- 三年级上册2-5《走近我们的老师》说课课件.ppt VIP
- 《职业道德》题库2024年河南省机关单位工勤技能人员培训考核高级工技师.docx VIP
- 北师大版(2019)必修第一册unit 1 life choices lesson 1 lifestyles 复习导学案.docx VIP
- DL543--94电厂用水处理设备质量验收标准 .pdf VIP
文档评论(0)