(c语言)数据结构教程

4星(超过85%的资源)
所需积分/C币:32 2008-12-16 10:15:12 1.93MB APPLICATION/MSWORD
31
收藏 收藏
举报

1.1 数据结构讨论的范畴 Niklaus Wirth Algorithm + Data Structures = Programs 程序设计: 为计算机处理问题编制一组指令集 算法:处理问题的策略 数据结构:问题的数学模型 例如: 数值计算的程序设计问题 结构静力分析计算 ─━ 线性代数方程组 全球天气预报 ─━ 环流模式方程 非数值计算的程序设计问题 例一: 求一组(n个)整数中的最大值 算法: 基本操作是“比较两个数的大小” 模型:? 例二:计算机对弈 算法:对弈的规则和策略 模型:? 例三:足协的数据库管理 算法:需要管理的项目?如何管理?用户界面? 模型:? 概括地说, 数据结构描述现实世界实体的数学模型(非数值计算)及其上的操作在计算机中的表示和实现 1.2 基本概念 一、数据与数据结构 数据: 所有能被输入到计算机中,且被计算机处理的符号的集 合计算机操作的对象的总称 是计算机处理的信息的某种特定的符号表示形式 数据元素: 数据中的一个“个体”,数据结构中讨论的基本单位 数据项:数据结构中讨论的最小单位 数据元素是数据项的集合 例如: 运动员(数据元素) 姓名 俱乐部名称 出生日期 参加日期 职务 业绩 其中    出生日期  年  月  日 是组合项 数据结构:带结构的数据元素的集合 例如,一个含12位数的十进制数可以用三个4位的十进制数表示 3214,6587,9345 ─ a1(3214),a2(6587),a3(9345) 在a1、a2和a3 之间存在“次序”关系  a1,a2 、 a2,a3 3214,6587,9345 ≠ 6587,3214,9345  a1  a2  a3    a2  a1  a3 又例,2行3列的二维数组 {a1, a2, a3, a4, a5, a6} a1 a2 a3 a4 a5 a6 行的次序关系:row = {,,,} 列的次序关系:col = {,,} 再例,一维数组 {a1, a2, a3, a4, a5, a6}中存在 次序关系: {| i=1, 2, 3, 4, 5} 数据的逻辑结构可归结为以下四类: 线性结构 树形结构 图状结构 集合结构 数据结构的形式定义为: 数据结构是一个二元组 Data_Structures = (D, S) 其中:D是数据元素的有限集,S是D上关系的有限集。 严格地讲,以上定义仅是数据的逻辑结构的定义 数据的存储结构 ─━ 逻辑结构在存储器中的映象 数据元素的映象方法: 用二进制位(bit)的位串表示数据元素 (321)10 = (501)8 = (101000001)2 A = (101)8 = (001000001)2 关系的映象方法:(表示 x, y 的方法) 顺序映象 以存储位置的相邻表示后继关系 y的存储位置和x的存储位置之间差一个常量C 而C是一个隐含值,整个存储结构中只含数据元素本身的信息 链式映象 以附加信息(指针)表示后继关系 需要用一个和x在一起的附加信息指示y的存储位置 在不同的编程环境中,存储结构可有不同的描述方法, 当用高级程序设计语言进行编程时,通常可用高级编程语言中提供的数据类型描述之。 例如:以三个带有次序关系的整数表示一个长整数时,可利用C语言中提供的整数数组类型,定义长整数为: typedef int Long_int [3] 二、数据类型 在用高级程序语言编写的程序中,必须对程序中出现的每个变量、常量或表达式,明确说明它们所属的数据类型。因为类型明显或隐含地规定了,在程序执行期间,变量或表达式所有可能取值的范围,以及在这些之上允

...展开详情
立即下载 低至0.43元/次 身份认证VIP会员低至7折
一个资源只可评论一次,评论内容不能少于5个字
侠奕 感谢分享,很详细
2014-11-24
回复
18821 收益了,不错的内容
2014-06-25
回复
chendx0226 很好,再考计算机二级的时候用到了
2014-05-05
回复
koy540617590 适合有一定基础的学习。
2012-12-22
回复
yanle7758521 挺不错的 适合初学者 谢谢
2012-04-01
回复
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
上传资源赚钱or赚积分
最新推荐
(c语言)数据结构教程 32积分/C币 立即下载
1/0