欢迎来到天天文库
浏览记录
ID:12866904
大小:189.50 KB
页数:15页
时间:2018-07-19
《全国计算机等级考试二级公共基础知识速学教程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第1章数据结构与算法1.1算法的复杂度1.算法的基本概念利用计算机算法为计算机解题的过程实际上是在实施某种算法。1)算法一般具有4个基本特征:可行性、确定性、有穷性、拥有足够的情报。2)算法的基本运算和操作包括:算术运算、逻辑运算、关系运算、数据传输。3)算法的3种基本控制结构是:顺序结构、选择结构、循环结构。4)算法基本设计方法:列举法、归纳法、递推、递归、减半递推技术、回溯法。5)所谓指令系统是一个计算机系统能执行的所有指令的集合。2.算法的复杂度算法复杂度包括时间复杂度和空间复杂度。注意两者的区别,无混淆,见表1-1。表1-1算法复杂性名称描述时间复杂度执行算法所需要的计算
2、工作量空间复杂度执行这个算法所需要的内存空间1.2数据结构1.2.1逻辑结构和存储结构1.数据结构的基本概念(1)数据结构数据结构指相互有关联的数据元素的集合。(2)数据结构研究的3个方面i)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构。ii)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构。iii)对各种数据结构进行的运算。2.逻辑结构数据的逻辑结构是对数据元素之间的逻辑关系的描述,它可以用一个数据元素的集合和定义在此集合中的若干关系来表示。数据的逻辑结构有两个要素:一是数据元素的集合,通常记为D;二是D上的关系,它反映D中各数据元素之间的前后
3、件关系,通常记为R。一个数据结构可以表示成:B=(D,R)其中,B表示数据结构。为了反映D中各数据元素之间的前后件关系,一般用二元组来表示。例如,如果把一年四季看作一个数据结构,则可表示成:B=(D,R)D={春季,夏季,秋季,冬季}R={(春季,夏季),(夏季,秋季),(秋季,冬季)}3.存储结构数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构也称数据的物理结构。一种数据的逻辑结构根据需要可以表示成多种存储结构,常用存储结构有顺序、链式等存储结构。顺序存储方式主要用于线性的数据结构,它把逻辑上相邻的数据元素存储在物理上相邻的存储单元里,结点之间的关系由存储单元的邻接
4、关系来体现。链式存储结构就是在每个结点中至少包含一个指针域,用指针来体现数据元素之间逻辑上的联系。1.2.2线性结构和非线性结构根据数据结构中各数据之间前后件关系的复杂程度,一般将数据结构分为两大类型:线性结构与非线性结构。1)如果一个非空的数据结构满足下列两个条件:a)有且只有一个根结点b)每一个结点最多有一个前件,也最多有一个后件。则称该数据结构为线性结构。又称线性表。2)线性表的顺序存储结构具有以下两个基本特点:a)线性表中所有元素所占的存储空间是连续的;b)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。元素ai的存储地址为:ADR(ai)=ADR(a1)+(i-1
5、)k,ADR(a1)为第一个元素的地址,k代表每个元素占的字节数。3)顺序表的运算有查找、插入、删除3种。1.3栈1.栈(stack)的基本概念栈是一种特殊的线性表,是限定只在一端进行插入与删除的线性表。在栈中,一端是封闭的,既不允许进行插入元素,也不允许删除元素;另一端是开口的,允许插入和删除元素。通常称插入、删除的这一端为栈顶,另一端为栈底。当表中没有元素时称为空栈。栈顶元素总是最后被插入的元素,从而也是最先被删除的元素;栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素。栈是按照“先进后出”或“后进先出”的原则组织数据的。例如枪械的子弹匣就可以用来形象的表示栈的结构
6、。子弹匣的一端是完全封闭的,最后被压入弹匣的子弹总是最先被弹出,而最先被压入的子弹最后才能被弹出。2.栈的顺序存储及其运算栈的基本运算有3种:入栈、退栈与读栈顶元素。1)入栈运算:在栈顶位置插入一个新元素;2)退栈运算:取出栈顶元素并赋给一个指定的变量;3)读栈顶元素:将栈顶元素赋给一个指定的变量。1.4队列1.队列的基本概念队列是只允许在一端进行删除,在另一端进行插入的顺序表,通常将允许删除的一端称为队头,允许插入的一端称为队尾。当表中没有元素时称为空队列。队列的修改是依照“先进先出”或“后进后出”的原则进行的,因此队列也称为先进先出的线性表,或者后进后出的线性表。例如:火车进
7、遂道,最先进遂道的是火车头,最后是火车尾,而火车出遂道的时候也是火车头先出,最后出的是火车尾。若有队列:Q=(q1,q2,…,qn)那么,q1为队头元素(排头元素),qn为队尾元素。队列中的元素是按照q1,q2,…,qn的顺序进入的,退出队列也只能按照这个次序依次退出,即只有在q1,q2,…,qn-1都退队之后,qn才能退出队列。因最先进入队列的元素将最先出队,所以队列具有先进先出的特性,体现“先来先服务”的原则。队头元素q1是最先被插入的元素,也是最先被删除的元素,队尾元素qn
此文档下载收益归作者所有