- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
二级公共基础讲义
二级公共基础
第一章 数据结构与算法
第一部分 算法
大纲要求:算法的基本概念;算法复杂度的概念和意义(时间与空间复杂度)
一、算法的基本概念
算法:指解题方案的准确而完整的描述。
注:程序的编制不可能优于算法。
二、算法的基本特征
可行性:能够得到满意的结果。
2、确定性:每一个步骤都必须有明确定义。
3、有穷性:必须能在有限的时间内做完。
4、拥有足够的情报:算法是否有效,取决于算法提供的情报是否足够。
三、算法设计基本方法
1、列举法2、归纳法3、递推法4、递归法5、减半递推技术6、回溯法
四、算法复杂度(时间复杂度和空间复杂度)
1、时间复杂度:执行算法所需要的计算工作量。
2、空间复杂度:执行这个算法所需要的内存空间。
第二部分 数据结构
大纲要求:数据结构的定义,数据的逻辑结构与存储结构,数据结构的图形表示;线性结构与非线性结构的概念。
一、数据结构的相关概念
1、数据结构——指相互有关联的数据元素的集合,通常也指带有结构的数据元素的集合。
2、数据的逻辑结构——反映数据元素之间逻辑关系的数据结构。
3、数据的存储结构——数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构,即各数据元素在计算机中的存储关系。
4、数据存储结构不仅要存放各数据元素的信息,还要存放各数据元素之间的前后件关系的信息。
5、常用的存储结构有顺序、链接、索引等存储结构。
6、一种数据的逻辑结构根据需要可以表示成多种存储结构。
7、采用不同的存储结构,其数据处理的效率是不同的。
8、数据结构的符号表示:
B=(D,R) B:数据结构,D:数据元素的集合,R:数据元素之间的前后件关系。
9、数据结构的图形表示:①方框:表示数据元素 ②有向线段:表示数据元素的前后件关系。
如:一年四季的数据结构用图形表示为
10、根据数据结构各数据元素之间前后件关系的复杂程度,将数据结构分为:(逻辑结构的分类)
①线性结构 ②非线性结构
11、线性结构所满足的条件:
①有且只有一个根结点;
②每一个结点最多有一个前件,也最多有一个后件;
如:线性表、栈、队列、线性链表、循环链表等属线性结构。
12、非线性结构:如果一个数据结构不是线性结构,则称之为非线性结构。
如:树、二叉树等属非线性结构
13、空的数据结构既可以是线性结构,也可以是非线性结构。
二、线性表
大纲要求:线性表的定义,线性表的顺序存储结构及其插入与删除运算
1、线性表是最简单、最常用的一种数据结构。
2、非空线性表有以下三个结构特征:
①有且只有一个根结点,它无前件;
②有且只有一个终端结点,它无后件;
③除根结点与终端结点外,其他所有结点有且只有一个前件,也有且只有一个后件。
3、线性表中结点的个数n称为线性表的长度,当n=0时,称为空表。
4、线性表的顺序存储结构具有以下两个基本特点:
①线性表中所有元素所占的存储空间是连续的
②线性表中各数据元素在存储空间中是按逻辑顺序依次存放的
5、顺序表的基本运算(以顺序存储方式存储的线性表称为顺序表)。
①插入运算
要在第i(1=i=n)个元素之前插入一个新元素时,首先要从最后一个元素开始,直到第i个元素之间共n-i+1个元素依次向后移动一个位置,移动结束后,第I个位置就被空出,然后将新元素插入到第i项。
②删除运算
在一般情况下,要删除第i(1=i=n)个元素,则原来第i个元素之后的所有元素都必须依次往前移动一个位置。
6、在平均情况下,要在线性表中插入或删除一个元素,需要移动表中一半的元素。
7、线性表的顺序存储结构适合小线性表或其中元素不常变动的线性表,对于元素经常需要变动的大线性表就不太合适,因为顺序存储的插入与删除的效率比较低。
三、线性单链表
大纲要求:线性单链表、双向链表的结构及其基本运算
1、线性链表——线性表的链式存储结构称为线性链表。
2、在线性链表中,用一个专门的指针HEAD指向线性链表中第一个数据元素的结点,线性链表中最后一个元素没有后件,因此最后一个结点的指针域为空(用NULL或0表示),表示链表终止。
3、线性链表中的每一个元素,一方面要存储数据元素的值;另一方面要存储各数据元素之间的前后件关系。即是将存储空间的每一个存储结点分为两部分:一部分用于存储数据元素的值,称为数据域;另一部分用于存放下一个数据元素的存储序号,即指
文档评论(0)