2.1节线性数据结构-基本概念-去掉声音效果了分析.pptx

2.1节线性数据结构-基本概念-去掉声音效果了分析.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
;;;;表结构;交通图; 1. 研究数据元素之间的客观联系。;逻辑结构: 计算机处理的数据元素的组织形式及其相互间的关系。 由数据元素的有限集合及所有数据元素之间的关系组成。记为: Data_Structure = (D, R) 其中,D是数据元素的有限集,R是 所有数据元素之间的关系的有限集合。 ;根据数据元素间关系的基本特性,有四种基本数据结构 集合结构 数据元素间除“同属于一个集合”外,无其它关系 线性结构 一个对一个,如线性表、栈、队列 树形结构 一个对多个,如树 图状结构 多个对多个,如图;集合结构;线性结构;树结构;Graph = ( D, R );存储结构(Storage Structure):数据在计算机中的表示(或称映象)称为数据的存储结构,又称为物理结构。 四种基本的存储结构: (1)顺序存储结构 (2)链式存储结构 (3)索引存储结构 (4)散列存储结构 同一种逻辑结构可采用不同的存储方法(以上四种之一或组合),这主要考虑的是运算方便及算法的时空要求。;顺序存储结构:用数据元素在存储器中的相对位置来表示数据元素之间的逻辑关系。 链式存储结构:在每一个数据元素中增加一个存放地址的指针,用此指针来表示数据元素之间的逻辑关系。 ; 逻辑结构;2. 链式存储结构;;1.3 算法和算法分析;;;百钱买百鸡问题: 100元钱买100只鸡,母鸡每只5元,公鸡每只3元,小鸡3只1元,问共可以买多少只母鸡、多少只公鸡、多少只小鸡? ;方法2、3:用两重循环 因总共买100只鸡,所以小鸡的数目可以由母鸡数和公鸡数得到。 ;方法4:用一重循环 由i+j+k=100和5*i+3*j+k/3=100合并为一个方程: 14*i+8*j=200, 简化: 7*i+4*j=100 得: i不超过14,i必为4的倍数?! ;; 定义:若有一辅助函数f(n),当n趋于无穷大时,T(n)/f(n) 为一不等于零的实常数,则f(n)为T(n)的同数量级函数,记为 T(n)=O(f(n)) 称O(f(n))为时间复杂度。  ;时间复杂度T(n)按数量级递增顺序为: ;常用的计算规则:;时间复杂度的计算:;;复习:链表;9.1.1 自己建立结构体类型;9.1.1 自己建立结构体类型;struct Student { int num; char name[20]; char sex; int age; char addr[30]; }; ;9.4.1 什么是链表;struct Student { int num;   float score;   struct Student *next; }a,b,c;; 相关知识;;例如:定义结构体类型 typedef struct nodetype { int data; struct nodetype *next; }SLNode;;9.4.3 建立动态链表;9.4.3 建立动态链表;解题思路: 定义3个指针变量:head,p1和p2,它们都是用来指向struct Student类型数据 ;解题思路: 用malloc函数开辟第一个结点,并使p1和p2指向它;解题思路: 读入一个学生的数据给p1所指的第一个结点;解题思路: 读入一个学生的数据给p1所指的第一个结点 使head也指向新开辟的结点;解题思路: 再开辟另一个结点并使p1指向它,接着输入该结点的数据;解题思路: 再开辟另一个结点并使p1指向它,接着输入该结点的数据;解题思路: 使第一个结点的next成员指向第二个结点,即连接第一个结点与第二个结点 使p2指向刚才建立的结点;解题思路: 使第一个结点的next成员指向第二个结点,即连接第一个结点与第二个结点 使p2指向刚才建立的结点;解题思路: 再开辟另一个结点并使p1指向它,接着输入该结点的数据;解题思路: 再开辟另一个结点并使p1指向它,接着输入该结点的数据;解题思路: 使第二个结点的next成员指向第三个结点,即???接第二个结点与第三个结点 使p2指向刚才建立的结点;解题思路: 使第二个结点的next成员指向第三个结点,即连接第二个结点与第三个结点 使p2指向刚才建立的结点;解题思路: 再开辟另一个结点并使p1指向它,接着输入该结点的数据;解题思路: 再开辟另一个结点并使p1指向它,接着输入该结点的数据;解题思路: 输入的学号为0,表示建立链表的过程完成,该结点不应连接到链表中;#inclu

文档评论(0)

LOVE爱 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:5341224344000002

1亿VIP精品文档

相关文档