- 1、本文档共35页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[其它语言学习]2009考研计算机冲刺班数据结构讲义-崔微
数据结构
第1章 绪论
重点归纳
1、(1)数据结构课程主要是研究非数值计算的程序设计问题中的计算机操作对象以及它们之间的关系和操作的学科。
(2)数据结构是指互相之间存在着一种或多种关系的数据元素的集合。
(3)数据结构是一个二元组Data_Structure =(D,R),其中,D是数据元素的有限集,R是D上关系的有限集。
2、数据是对信息的一种符号表示。在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。
数据元素是数据的基本单位。
数据项是数据的不可分割的最小单位。
一个数据元素可由若干个数据项组成。
数据对象是性质相同的数据元素的集合,是数据的一个子集。
抽象数据类型是指一个数学模型以及定义在该模型上的一组操作。它实际上就是对该数据结构的定义,定义了一个数据的逻辑结构以及在此结构上的一组算法。
抽象数据类型用三元组(D,S,P)描述.
3、逻辑结构是指数据之间的相互关系。通常分为四类结构:
(1)集合(2)线性结构(3)树型结构(4)图状结构或网状结构
4、存储结构是指数据结构在计算机中的表示,又称为数据的物理结构。通常由四种基本的存储方法实现:
(1)顺序存储方式(2)链式存储方式(3)索引存储方式(4)散列存储方式
5、算法是对特定问题求解步骤的一种描述,是指令的有限序列。其中每一条指令表示一个或多个操作。
具有下列特性:⑴有穷性⑵确定性⑶可行性⑷输入⑸输出。
评价算法:⑴正确⑵可读⑶健壮⑷高效。
6、时间复杂度:以基本运算的原操作重复执行的次数作为算法的时间度量。一般情况下,算法中原操作重复执行的次数是规模n的某个函数T(n)。
常见的渐进时间复杂度有:
Ο(1)<Ο(log2n)<Ο(n)<Ο(nlog2n)<Ο(n2)<Ο(n3)<Ο(2n) <O(n!) <O(nn)
注意:有的情况下,算法中基本操作重复执行的次数还随问题的输入数据集不同而不同。
7、算法的存储空间度量:若输入数据所占空间只取决与问题本身,和算法无关,则只需要分析除输入和程序之外的辅助变量所占额外空间。
原地工作:若所需额外空间相对于输入数据量来说是常数,则称此算法为原地工作。
8、(1)for (int i=1; i=n; i++)
for (int j=1; j=i; j++)
语句频度是n (n+1)/2
(2)for( i=1; i=n; i++)
for (j=1; j=i; j++)
for (k=1; k=j; k++)
语句频度是n (n+1)(n+2)/6
(3)循环条件是 (y+1)2≤n, 即 y≤-1,而 y 的初始值是0,则语句频度应为。
习题:
1. 以下属于逻辑结构的是( )。
A.顺序表 B. 散列表 C. 有序表 D. 单链表
第2章 线性表
重点归纳
1、线性表是具有相同数据类型的n(n≥0)个数据元素的有限序列,是最简单、最基本、也是最常用的一种线性结构,
2、顺序表上基本运算的实现
(1)顺序表具有按数据元素的序号随机存取的特点,时间复杂度为O(1)。
(2)按值x查找:主要运算是比较,比较的次数与值x在表中的位置有关,也与表长有关,平均比较次数为(n+1)/2,时间复杂度为O(n)。
(3)插入运算:在第i个位置上插入x,从an到ai都要向下移动一个位置,共移动n-i+1个元素。
等概率情况下,平均移动数据元素的次数:
说明:在顺序表上做插入操作需移动表中一半的数据元素,时间复杂度为O(n)。
(4)删除运算:删除第i个元素,从ai+1到an都要向上移动一个位置,共移动 n-i 个元素。
等概率情况下,平均移动数据元素的次数:
说明:顺序表上作删除运算时大约需要移动表中一半的元素,时间复杂度为O(n)。
3、单链表上基本运算的实现
(1)建立带头结点的单链表
●头插法:读入的数据元素的顺序与生成的链表中元素的顺序是相反的。
LinkList Creat_LinkList1( )
{ LinkList L=(LNode *)malloc(sizeof(LNode));
L-next=NULL; /*空表*/
LNode *s;
int x; /*设数据元素的类型为int*/
scanf("%d",x);while (x!=flag)
{ s=malloc(sizeof(LNode));
s-data=x;
s-next=L-next; L-next=s;
scanf ("%d",x);
}
return L;
}
●尾插法:读入的数据元素的顺序与生成的链表中元素的顺序是一致的。
LinkList Creat_LinkL
您可能关注的文档
- [其它]注册表键值分享.doc
- [其它]生产企业出口退税申报系统应用及电子口岸出口报关单电子数据操作.ppt
- [其它]科技论文写作.ppt
- [其它]祖国统一的历史潮流.ppt
- [其它]第04章 基本输入、输出和顺序程序设计.ppt
- [其它]第04章 接口、内部类和Java API基础.ppt
- [其它]汽车构造课件精品发动机339页.ppt
- [其它]第02章-JSP介绍及开发环境配置.ppt
- [其它]第1章 ERP的基本概念.ppt
- [其它]第1章 导论.ppt
- 广东省深圳市龙岗区德琳学校初中部2022-2023学年七年级上学期期中考试英语试题(原卷版+解析).docx
- 广东省珠海市第四中学、立才学校、梅华中学2022-2023学年七年级上学期期中质量检测英语试题(原卷版+解析).docx
- 教科版2024-2025学年六年级科学上册第一单元第4课时《生物细胞》同步练习(含答案).docx
- 牛津沪教版七年级英语上册单元速记•巧练 Unit 7 【单元测试 · 提高卷】.docx
- 牛津沪教版七年级英语上册单元速记•巧练 Unit 5【单元测试 · 基础卷】.docx
- 广东省深圳市南山区太子湾学校2022-2023学年七年级上学期期中考试英语试题(原卷版+解析).docx
- 广东省深圳市南山第二外国语学校(集团)2022-2023学年七年级上学期期中考试英语试题(含听力)(原卷版+解析).docx
- 牛津沪教版七年级英语上册单元速记•巧练 2023-2024学年七年级上学期期末英语全真模拟卷(深圳适用02).docx
- 广东省阳江市江城区2022-2023学年七年级上学期期中考试英语试题(原卷版+解析).docx
- 广东省梅州市梅县区宪梓中学2022-2023学年七年级上学期期中英语试题(原卷版+解析).docx
最近下载
- 急诊医疗投诉纠纷的预防方法.pptx
- 湖北武汉青山区招聘社区干事笔试真题2023(含答案).pdf VIP
- 综合教程(第3版)增强版_第3册(何兆熊)unit1-unit6.pdf
- 人教统编版语文五年级上册 第二单元 双减分层作业设计案例 样例 将相和.pdf VIP
- 读后续写人与自然+课件--2025届高三英语上学期作文复习专项.pptx VIP
- 解读《中华人民共和国农村土地承包经营纠纷调解仲裁法》.pptx VIP
- 消防水池、人防有限空间专项施工方案全.docx
- 足球运球绕杆技术(课件)2021-2022学年体育五至六年级.pptx
- 部编版八年级历史上册导学案.doc
- 口腔实习小结.pdf VIP
文档评论(0)