欢迎来到天天文库
浏览记录
ID:42755086
大小:111.00 KB
页数:18页
时间:2019-09-20
《计算机二级 公共基础知识 数据结构与算法》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、第一章数据结构与算法 1.1算法 1、算法的基本特征(1)可行性。 (2)确定性。 (3)有穷性。 (4)拥有足够的情报。 *:综上所述,所谓算法,是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的,且是明确的,此顺序将在有限的次数下终止。 2、算法复杂度主要包括时间复杂度和空间复杂度。 (1)算法时间复杂度:指执行算法所需要的计算工作量,可以用执行算法的过程中所需基本运算的执行次数来度量。(2)算法空间复杂度:指执行这个算法所需要的内存空间。1.2数据结构的基本概念 1、数据结构是指相互有关联的数据元素的集合
2、。 2、数据结构主:(1)数据的逻辑结构:是指反映数据元素之间的逻辑关系的数据结构。数据的逻辑结构有两个要素:数据元素的集合,记作D,数据之间的前后件关系,记作R,则数据结构B=(D,R)(2)数据的存储结构:在计算机存储空间中的存放形式称为数据的存储结构(也称数据的物理结构)。常用的存储结构有顺序、链接等存储结构。顺序存储方式主要用于线性的数据结构,它把逻辑上相邻的数据元素存储在物理上相邻的存储单元里,结点之间的关系由存储单元的邻接关系来体现。链式存储结构就是在每个结点中至少包含一个指针域,用指针来体现数据元素之间逻辑上的联系。
3、 3、数据结构的图形表示 在结构图中,没有前件的结点称为根结点,没有后件的结点称为终端结点,也称叶子结点。 4、数据结构分为两大类型:线性结构和非线性结构。 (1)线性结构(非空的数据结构)条件:1)有且只有一个根结点;2)每一个结点最多有一个前件,也最多有一个后件。 *:常见的线性结构有线性表、栈、队列和线性链表等。 (2)非线性结构:不满足线性结构条件的数据结构。 *:常见的非线性结构有树、二叉树和图等。1.3线性表及其顺序存储结构 1、线性表由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是
4、线性的。线性表是由n(n≥0)个数据元素组成的一个有限序列,表中的每一个数据元素,除了第一个外,有且只有一个前件,除了最后一个外,有且只有一个后件。线性表中数据元素的个数称为线性表的长度。线性表可以为空表。 *:线性表是一种存储结构,它的存储方式:顺序和链式。 2、线性表的顺序存储结构具有两个基本特点:(1)线性表中所有元素所占的存储空间是连续的;(2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。 *:由此可以看出,在线性表的顺序存储结构中,其前后件两个元素在存储空间中是紧邻的,且前件元素一定存储在后件元素的前面,可以
5、通过计算机直接确定第i个结点的存储地址。 3、顺序表的插入、删除运算 (1)顺序表的插入运算:在一般情况下,要在第i(1≤i≤n)个元素之前插入一个新元素时,首先要从最后一个(即第n个)元素开始,直到第i个元素之间共n-i+1个元素依次向后移动一个位置,移动结束后,第i个位置就被空出,然后将新元素插入到第i项。插入结束后,线性表的长度就增加了1。 *:顺性表的插入运算时需要移动元素,在等概率情况下,平均需要移动n/2个元素。 (2)顺序表的删除运算:在一般情况下,要删除第i(1≤i≤n)个元素时,则要从第i+1个元素开始,直到
6、第n个元素之间共n-i个元素依次向前移动一个位置。删除结束后,线性表的长度就减小了1。 *:进行顺性表的删除运算时也需要移动元素,在等概率情况下,平均需要移动(n-1)/2个元素。插入、删除运算不方便。1.4栈和队列1、栈及其基本运算 栈是限定在一端进行插入与删除运算的线性表。 在栈中,允许插入与删除的一端称为栈顶,不允许插入与删除的另一端称为栈底。栈顶元素总是最后被插入的元素,栈底元素总是最先被插入的元素。即栈是按照“先进后出”或“后进先出”的原则组织数据的。 2、队列及其基本运算 队列是指允许在一端(队尾)进入插入,而在
7、另一端(队头)进行删除的线性表。尾指针(Rear)指向队尾元素,头指针(front)指向排头元素的前一个位置(队头)。 队列是“先进先出”或“后进后出”的线性表。 队列运算包括:1)入队运算:从队尾插入一个元素;2)退队运算:从队头删除一个元素。 循环队列及其运算:所谓循环队列,就是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间,供队列循环使用。在循环队列中,用队尾指针rear指向队列中的队尾元素,用排头指针front指向排头元素的前一个位置,因此,从头指针front指向的后一个位置直到队尾指针rear指向的位
8、置之间,所有的元素均为队列中的元素。 *:循环队列中元素的个数=rear-front。1.5线性链表 线表顺序存储的缺点:(1)插入或删除的运算效率很低。在顺序存储的线性表中,插入或删除数据元素时需要移动大量的数据元
此文档下载收益归作者所有