数据结构与算法笔试题20091121 1100 [算法整理 ]

数据结构与算法笔试题20091121 1100 [算法整理 ]

ID:39430829

大小:48.00 KB

页数:10页

时间:2019-07-03

数据结构与算法笔试题20091121 1100 [算法整理 ]_第1页
数据结构与算法笔试题20091121 1100 [算法整理 ]_第2页
数据结构与算法笔试题20091121 1100 [算法整理 ]_第3页
数据结构与算法笔试题20091121 1100 [算法整理 ]_第4页
数据结构与算法笔试题20091121 1100 [算法整理 ]_第5页
资源描述:

《数据结构与算法笔试题20091121 1100 [算法整理 ]》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、数据结构与算法笔试题2009/11/2111:00[算法整理]第一章数据结构与算法一.算法的基本概念计算机解题的过程实际上是在实施某种算法,这种算法称为计算机算法。1.算法的基本特征:可行性,确定性,有穷性,拥有足够的情报。2.算法的基本要素:算法中对数据的运算和操作、算法的控制结构。3.算法设计的基本方法:列举法、归纳法、递推、递归、减半递推技术、回溯法。4.算法设计的要求:正确性、可读性、健壮性、效率与低存储量需求二.算法的复杂度1.算法的时间复杂度:指执行算法所需要的计算工作量2.算法的空间复杂度:执行这个算法所需要的内存空间

2、三.数据结构的定义1.数据的逻辑结构:反映数据元素之间的关系的数据元素集合的表示。数据的逻辑结构包括集合、线形结构、树形结构和图形结构四种。2.数据的存储结构:数据的逻辑结构在计算机存储空间种的存放形式称为数据的存储结构。常用的存储结构有顺序、链接、索引等存储结构。四.数据结构的图形表示:在数据结构中,没有前件的结点称为根结点;没有后件的结点成为终端结点。插入和删除是对数据结构的两种基本运算。还有查找、分类、合并、分解、复制和修改等。五.线性结构和非线性结构根据数据结构中各数据元素之间前后件关系的复杂程度,一般将数据结构分为两大类型

3、:线性结构和非线性结构。线性结构:非空数据结构满足:有且只有一个根结点;每个结点最多有一个前件,最多只有一个后件。非线性结构:如果一个数据结构不是线性结构,称之为非线性结构。常见的线性结构:线性表、栈、队列六.线性表的定义线性表是n个元素构成的有限序列(A1,A2,A3……)。表中的每一个数据元素,除了第一个以外,有且只有一个前件。除了最后一个以外有且只有一个后件。即线性表是一个空表,或可以表示为(a1,a2,……an),其中ai(I=1,2,……n)是属于数据对象的元素,通常也称其为线性表中的一个结点。非空线性表有如下一些特征:(

4、1)有且只有一个根结点a1,它无前件;(2)有且只有一个终端结点an,它无后件;(3)除根结点与终端结点外,其他所有结点有且只有一个前件,也有且只有一个后件。线性表中结点的个数n称为线性表的长度。当n=0时称为空表。七.线性表的顺序存储结构线性表的顺序表指的是用一组地址连续的存储单元依次存储线性表的数据元素。线性表的顺序存储结构具备如下两个基本特征:1.线性表中的所有元素所占的存储空间是连续的;2.线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。即线性表逻辑上相邻、物理也相邻,则已知第一个元素首地址和每个元素所占字节数,则可求

5、出任一个元素首地址。假设线性表的每个元素需占用K个存储单元,并以所占的第一个单元的存储地址作为数据元素的存储位置。则线性表中第i+1个数据元素的存储位置LOC(ai+1)和第i个数据元素的存储位置LOC(ai)之间满足下列关系:LOC(ai+1)=LOC(ai)+KLOC(ai)=LOC(a1)+(i-1)*K①其中,LOC(a1)是线性表的第一个数据元素a1的存储位置,通常称做线性表的起始位置或基地址。因为在顺序存储结构中,每个数据元素地址可以通过公式①计算得到,所以线性表的顺序存储结构是随机存取的存储结构。在线性表的顺序存储结构

6、下,可以对线性表做以下运算:插入、删除、查找、排序、分解、合并、复制、逆转八.顺序表的插入运算线性表的插入运算是指在表的第I个位置上,插入一个新结点x,使长度为n的线性表(a1,a2…ai…an)变成长度为n+1的线性表(a1,a2…x,ai…an).该算法的时间主要花费在循环的结点后移语句上,执行次数是n-I+1。当I=n+1,最好情况,时间复杂度o(1)当I=1,最坏情况,时间复杂度o(n)算法的平均时间复杂度为o(n)九.顺序表的删除运算线性表的删除运算是指在表的第I个位置上,删除一个新结点x,使长度为n的线性表(a1,a2…

7、ai…an)变成长度为n-1的线性表(a1,a2…ai-1,ai+1…an).当I=n,时间复杂度o(1),当I=1,时间复杂度o(n),平均时间复杂度为o(n)十.栈及其基本运算1.什么是栈?栈实际上也是一个线性表,只不过是一种特殊的线性表。栈是只能在表的一端进行插入和删除运算的线性表,通常称插入、删除这一端为栈顶(TOP),另一端为栈底(BOTTOM)。当表中没有元素时称为空栈。栈顶元素总是后被插入的元素,从而也是最先被删除的元素;栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素。假设栈S=(a1,a2,a3,……an

8、),则a1称为栈底元素,an称为栈顶元素。栈中元素按a1,a2,a3……an的次序进栈,退栈的第一个元素应该是栈顶元素。即后进先出。2.栈的顺序存储及其运算用S(1:M)作为栈的顺序存储空间。M为栈的最大容量。栈的基本运算有三种:入栈

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。