❶ 计算机的特点有稳定性吗
计算机的特点有稳定性,可将其归结为可靠性。计算机对于不同的问题,只是执行的程序不同,因而具有很强的稳定性和通用性。计算机的其他特点:
(1)运算速度快:计算机内部电路组成,可以高速准确地完成各种算术运算。
(2)计算精确度高:科学技术的发展特别是尖端科学技术的发展,需要高度精确的计算。
(3)逻辑运算能力强:计算机不仅能进行精确计算,还具有逻辑运算功能,能对信息进行比较和判断。
(4)存储容量大:计算机内部的存储器具有记忆特性,可以存储大量的信息,这些信息,不仅包括各类数据信息,还包括加工这些数据的程序。
(5)自动化程度高:由于计算机具有存储记忆能力和逻辑判断能力,所以人们可以将预先编好的程序组纳入计算机内存,在程序控制下,计算机可以连续、自动地工作,不需要人的干预。
(6)性价比高:几乎每家每户都会有电脑,越来越普遍化、大众化,21世纪电脑必将成为每家每户不可缺少的电器之一。计算机发展很迅速,有台式的还有笔记本。
发展趋势:
随着科技的进步,各种计算机技术、网络技术的飞速发展,计算机的发展已经进入了一个快速而又崭新的时代,计算机已经从功能单一、体积较大发展到了功能复杂、体积微小、资源网络化等。计算机的未来充满了变数,性能的大幅度提高是不可置疑的,而实现性能的飞跃却有多种途径。
不过性能的大幅提升并不是计算机发展的唯一路线,计算机的发展还应当变得越来越人性化,同时也要注重环保等等。
以上内容参考:网络-计算机
❷ 关于数据结构的题
一楼个别选择题答案有疑问:
6.一个哈希函数被认为是“好的”,如果它满足条件_________。
(A)哈希地址分布均匀
(B)保证不产生冲突
(C)所有哈希地址在表长范围内
(D)满足(B)和(C)
本题的答案有疑问,因为如果不知道关键码值的全部集合根本就不可能设计出perfect的hash函数,当然就不可能保证不产生冲突,因此正常情况hash函数只要满足A即可,也就是hash的意译散列,一旦冲突了再来解决冲突,C则是必须满足的隐含条件
8.平均查找长度最短的查找方法是_____________。
(A)折半查找 (B)顺序查找 (C)哈希查找 (4)其他
答案为C,正常情况下就是有冲突,平均查找长度也不会大于4、5,如果是perfect 的hash函数,则ASL为1,而且与关键码的个数不直接相关,至于A的平均查找长度为log2n,并不是最小的
❸ 数值计算中稳定性是一个重要概念,什么是稳定性
对一个问题的求解可以有多种不同的方法,难易迥异。在计算机科学中往往把要解决的问题转化为数学模型来加以解决。由于机器字长的限制和存贮空间
的有限性,不同的模型由于误差的存在,往往使计算的结果存在很大的差异。若执行的结果与精确解之间的误差很大的话,势必会影响与之相关的数据的精确度。这
就引出了我们的问题:数值稳定性。
定义1对于一个已经存在的算法,若输入数据的误差在计算过程中迅速增长而得不到控制,则称该算法是不稳定的,否则是数值稳定的。
❹ 数据结构的问题~
习题1
一、选择题
1 计算机算法必须具备输入、输出、()等5个特性。
A 可行性、可移植性和可扩展性 B 可行性、确定性和有穷性
C 确定性、有穷性和稳定性 D 易读性、安全性和稳定性
2 在数据结构中,从逻辑上可以把数据结构分为( )
A 动态结构和静态结构 B 紧凑结构和非紧凑结构
C 内容结构和外部结构 D 线性结构和非线性结构
3 下面程序段的时间复杂性的量级为( )
For (i=1;i<=n;i++)
For(j=1;j<=I;j++)
For(k=1;k<=j;k++)
x=x+1;
A O(1) B O(n) C O(n2) D O(n3)
4 在数据结构中,与所使用的计算机无关的是数据的( )结构
A 逻辑 B 存储 C 逻辑和存储 D 物理
5 数据结构在计算机中的表示是指( )
A 数据的逻辑结构 B 数据结构 C 数据的存储结构 D 数据元素之间的关系
6 下面( )的时间复杂性最好,即执行时间最短。
A O(n) B O(logn) C O(nlogn) D O(n2)
7 下面程序段的时间复杂性的量级为( )。
Int fun(int n){
I=1,s=1;
While(s<n)
s+=++I;
return I;
}
A O(n/2) B O(logn) C O(n) D O(n1/2)
8 下面程序段的时间复杂性的量级为( )。
For(int i=0;i<m;i++)
For(int j=0;j<n;j++)
A[i][j]=i*j;
A O(m3) B O(n2) C O(m*n) D O(m+n)
9 执行下面程序段时,S 语句的执行次数为( )。
For(int i=1;i<n-1;i++)
For(int j=i+1;j<=n;j++)
S;
A n(n-1)/2 B n2/2 C n(n-1)/2 D n
二、简答题
1 数据的逻辑结构有哪几种?常用的存储有哪几种?
2 举一个数据结构的例子,叙述其逻辑结构、存储结构和运算三方面的内容。
3 什么叫算法?它有哪些特性
4 有下列几种用二元组表示的数据结构,画出它们分别对应的逻辑结构图,并指出它们分别以属于何种结构。
(1)A=(K,R),其中
K={a,b,c,d,e,f,g,h}
R={r}
r={<a,b>,<b,c>,<c,d>,<d,e>,<e,f>,<f,g>,<g,h>}
(2) B=(K,R),其中
K={a,b,c,d,e,f,g,h}
R={r}
r={<d,b>,<d,g>,<d,a>,<b,c>,<g,e>,<g,h>,<e,f>}
(3) B=(K,R),其中
K={1,2,3,4,5,6}
R={r}
r={(1,2),(2,3),(2,4),(3,4),(3,5),(3,6),(4,5),(4,6)}
三、计算题
设n为整数,求下列各程序段的时间复杂度
(1)i=1;k=2;
While(i<n){
k=k+10*I;
i=i+1;
}
(2)i=1;j=0;
While(i+j<=n)
If(i>j)j=j+1;
Else i=i+1;
(3)x=91;y=100
While(y>0)
If(x>100){
x=x-10;
y=y-1;
}else x=x+1;
习题2
一、选择题
1 线性表是( )
A 一个有限序列,可以为空 B 一个有限序列,不能为空
C 一个无限序列,可以为空 D 一个无限序列,不能为空
2 在一个长度为n的顺序表中,向第iI个元素(1≤i≤n+1)位置插入一个新元素时,需要从后向前依次后移( )个元素。
A n-i B n-i+1 C n-i-1 D i
3 在一个顺序表的表尾插入一个元素的时间复度的量级为( )。
A O(n) B O(1) C O(n2) D O(log n)
4 表长为n的顺序存储的线性表,当在任意位置上插入或删除一个元素的概率相等时,插入一个元素所需移动元素的平均个数为( ),删除一个元素需要移动元素的平均个数为( )
A (n-1)/2 B n C (n+1)/2 D n/2
5 设单链表中指针p指向结点a,若要删除p之后的结点(若存在),则需修改指针的操作为( )。
A p->next=p->next->next B p=p->next
C p=p->next->next D next=p
6 单链表的存储密度为( )。
A 大于1 B 等于5 C 小于1 D 不能确定
7 在一个单链表中,若要在p所指向的结点之后插入一个新结点,则需要相继修改( )个指针域的值。
A 1 B 2 C 3 D 4
8 在一个单链表中,若要在p所指向的结点之前插入一个新结点,则此算法的时间复杂度的量级为( )。
A O(n) B O(n/2) C O(1) D O(n1/2)
9 在一个带头结点的双向循环链表中,若要在p所指向的结点之前插入一个新结点,则需要相继修改( )个指针域的值。
A 2 B 3 C 4 D 6
二、简答题
1 什么叫线性表?它有哪些特点?
2 在链表的设计中,为什么通常采用带头结点的链表结构?
3 对比顺序表与单链表,说明顺序表与单链表的主要优点和主要缺点。
4 试编写算法实现顺序表的逆置,即把顺序表A中的数据元素(a1,a2, …,an)逆置为(an,an-1, …,a1)。
5 已知A和B为两个非递减的线性表,现要求实现如下操作:从A中删除在B中出现的元素。试编写在顺序表中实现上述操作的算法。
6 试编写算法实现链表的就地逆置(不增加存储空间),即把链表A中的数据元素(a1,a2, …,an)逆置为(an,an-1, …,a1)。
7 假设有两个非递减的线性表A 和B,均采用链式存储结构,试编写算法将A和B 归并成一个按元素非递减的线性表C。
8 试编写算法求单循环链表的表长。
习题3
一、选择题
1在栈顶一端可进行的全部操作是( )。
A 插入 B 删除 C插入和删除 D进栈
2 栈的特点是( )。
A 先进先出 B 后进先出 C后进后出 D不进不出
3 顺序栈是空栈的条件是( )。
A top==0 B top==1 C top==-1 D top==m
4 假定利用数组A[N]顺序存储一个栈,top表示栈顶指针,已知栈未满,则x入栈时所执行的操作是( )。
A a[--top]=x; B a[top--]=x C a[++top]=x D a[top++]=x
5 一个栈的入栈序列是a,b,c,d,e,则不可能的出栈序列是( )。
A edcda B dceab C decba D abcde
6 经过下列栈的运算后EmptyStack(s)的值是( )。
InitStack(s);Push(s,a);Push(s,b);Pop(s,x);Pop(s,x) ;
A a B b C 1 D 0
7 若已知一个栈的入栈序列是1,2,3, …,n,其输出序列为p1,p2,p3,…,pn,若p1=n,则pi为( )。
A i B n-i C n-i+1 D 不确定
8 队列的特点是()。
A 先进先出 B 后进先出 C先进后出 D 不进不出
9 循环队列S为满的条件是()。
A S->rear==S->front
B S->rear+1)%maxsiae==s->front
C S->rear==0
D s->front==0
10 经过下列运算后GetHead(Q)的值是()。
InitQueue(Q); EnQueue(Q,a); EnQueue(Q,b); DeQueue(Q,x);
A a B b C 1 D 2
二、简答题
1 简述栈与队列的相同点与不同点。
2 在顺序队列中,什么叫真溢出?什么叫假溢出?为什么顺序队列常都采用循环队列结构?
3 设以带头结点的循环链表表示队列,并且只设一个指针指向队尾元素结点(不设头指针),试编写相应的入队列、出队列算法。
4 设计一个输出如下形式数值的递归算法。
4 4 4 4
3 3 3
2 2
1
5 编写一个算法,利用栈的基本运算返回指定栈中的栈底元素。
习题4
一、选择题
1 串是一种特殊的线性表,其特殊性体现在( )
A 唯一可以顺序存储 B 数据元素是一个字符
C 可以链接存储 D 数据元素可以是多个字符
2 下面( )是C语言中“abcd321ABCD”的子串。
A abcd B 321AB C “abcAB” D “21AB”
3 设有两个串p和q,求p和q首次出现的位置的运算称作( )
A 连接 B 模式匹配 C 求子串 D 求串长
4 设有一个字符串S=“windows”,求子串的数目是()
A 25 B 26 C 27 D 28
二、简答题
1 空串与空格串有什么区别?字符串中的空格有什么意思?空串在串的处理中有什么作用?
2串是由字符组成的,长度为1的串和字符是否相同?为什么?
3简述串的静态顺序存储结构与动态顺序存储结构有什么区别,分别写出它们的结构体定义。
4字符串采用静态顺序存储结构。编写一个算法删除S中地i个字符到第j个字符。
5编写一个算法判断s2是否是s1的子串。
习题5
一、选择题
1.二维数组A行下标i的范围从1到12,列下标j的范围从3到10,采用行序为主序存储,每个数据元素占用4个存储单元,该数组的首地址(即A[1][3]的地址)为1200,则A[6][5]的地址为( )。
A 1400 B 1404 C 1372 D 1368
2.二维数组M的元素是4个字符(每个字符占一个存储单元)组成的串,行下标i的范围从0到4,列下标j的范围从0到5,M按行存储时元素M[3][5]的起始地址与M按列存储时元素( )的起始地址相同。
A M[2][4] B M[3][4] C M[3][5] D M [4][4]
3.数组A中,每个元素A的长度为3个字节,行下标i从1到5,列下标j从1到6,从首地址开始连续存放在存储器内,存放该数组至少需要的单元数是( )。
A 90 B 70 C 50 D 30
4.设有10阶矩阵A,其对角线以上的元素aij均取值为-3,其他矩阵元素为正整数,现在将矩阵A压缩存放在一维树组F[m]中,则 m为( )。
A 45 B 46 C 55 D 56
5.若广义表A满足head(A)=tail(A),则A为( )。
A ( ) B (()) C ((),()) D ((),(),())
6.递归函数f(n)=f(n-1)+n(n>1)的递归出口是( )
A f(1)=0 B f(1)=1 C f(0)=1 D f(n)=n
二、简答题
1.什么叫二维数组的行序优先存储?什么叫二维数组的列序优先存储?
2.什么样的矩阵叫特殊矩阵?特殊矩阵压缩存储的基本思想是什么?
3.什么样的矩阵叫稀疏矩阵?稀疏矩阵压缩存储的基本思想是什么?
三、计算题
设有二维数组A(6*8),每个元素占4个字节,A[0][0]的起始地址为1000,计算
(1) 数组A共占多少个字节;
(2) 数组的最后一个元素A[5][7]的起始地址;
(3) 按行优先存放时,元素A[1][4]的起始地址;
(4) 按列优先存放时,元素A[4[7]的起始地址;
四、设计题
1.对于二维数组A[m][n],其中m<=80,n<=80,先读入m和n ,然后读该数组的全部元素,对如下三种情况分别编写相应函数:
(1)求数组A靠边元素之和;
(2)求从A[0][0]开始的互不相邻的各元素之和;
(3)当m=n时,分别求两条对角线上的元素之和,否则打印出m!=n的信息。
2.有数组A[4][4],把1到16个整数分别按顺序放入A[0][0],……,A[0][3],A[1][0],……,A[1][3],A[2][0],……,A[2][3],A[3][0],……,A[3][3]中,编写一个函数获得数据并求出两条对角线元素的乘积。
习题6
一、选择题
1、下述编码中哪一个不是前缀编码( )
A、{00,01,10,11} B、{01,0,1,10}
C、{0,10,110,111} D、{1,01,000,111}
2、一棵二叉树第五层的结点数最多为( )
A、16 B、15 C、8 D、32
3、利用3、8、12、6这4个值作叶子结点的权,生成一棵哈夫曼树,该树的带权路径长度为( )
A、55 B、29 C、58 D、38
4、在线索化二叉树中,t所指节点没有左子树的充要条件是( )
A、t->left=NULL B、t->ltag=1 C、t->ltag=1且t->left=NULL D、以上都不对
5、设高度为h的二叉数上只有度为0和度为2的结点,则此类二叉树中所包含的结点数至少为( )
A、2h B、2h -1 C、2h +1 D、h+1
6、已知某二叉树的后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是( )
A、acbed B、 decab C、 deabc D 、cedba
7、按照二叉树的定义,具有三个节点的二叉树有( )种
A、3 B、4 C、5 D、6
8、任意一棵二叉树的叶结点在先序、中序和后序遍历序列中的相对次序( )
A、不发生改变 B、发生改变 C、不能确定 D、以上都不对
9、对一个满二叉树,它有m个树叶,n个结点,深度为h,则()
A、n=h+m B 、h+m=2n C、m=h-1 D 、n=2h-1
二、设计题
1、已知一棵树的边的集合表示为{(L,N),(G,K),(G,1),(G,M),(B,E),(B,F),(D,G),(D,H),(D,I),(D,J),(A,B),(A,C),(A,D)}。画出这棵树并回答下面问题:
(1) 树的根节点是哪个,哪些是叶子结点,哪些是非终端结点。
(2) 树的深度是多少,各个结点的层数是多少。
(3) 对于G结点,它的双亲结点、祖先结点、孩子结点、子孙结点、兄弟和堂兄弟分别是哪些结点。
2、给定二叉树的先序序列和中序序列,能否重构出该二叉树?给定二叉树的先序序列和后序序列呢?若不能,给出反例。
3、一棵深度为h的满二叉树具有如下性质:第h层上的结点都是叶结点,其余各层上每个结点都有m棵非空子树。若按层次从上到下,每层从左到右的顺序从1开始对全部结点编号,试计算:
(1)第k层结点数(1<=k<=h)。
(2)整棵树结点数
(3)编号为i的结点的双亲结点的编号
(4)编号为i的结点的第j个孩子结点(若有)的编号
4、若7个带权结点,其权值分别为3,7,8,2,6,10,14,试以它们为叶结点构造一棵哈夫曼树(请按照每个结点的左子树根结点的权小于等于右子树根结点的权的次序构造),度计算出带权路径长度WPL及该树的结点总数。
5、假设二叉数采用链式存储结构,编写一个算法释放该二叉树所占用的全部结点。
6、编写一个计算一棵二叉树T的高度算法。
7、二叉树采用二叉树链表的结构存储,设计一个算法求二叉树中指定结点的层数。
习题7
一、选择题
1、 在一个具有n个顶点的无向图中,要连接全部顶点至少需要( )条边。
A、n B、n+1 C、n-1 D、n/2
2、对于一个具有n个顶点的无向图,若采用邻接矩阵表示,则该矩阵的大小是( )
A、n B、(n-1)/2 C、n-1 D、n2
3、具有6个顶点的无向图至少应用( )条边才能确保是一个连通图。
A、5 B、6 C、7 D、8
4、n个顶点的强连通图的邻接矩阵中至少有( )个非零元素。
A、n-1 B、n C、2n-2 D、2n
5、在一个具有n个顶点的有向完全图中,所含的边数为( )
A、n B、n(n-1) C、n(n-1)/2 D、n(n+1)/2
6、在一个具有n个顶点和e条边的无向图的邻接矩阵中,表示边存在的元素(又称为有效元素)的个数为( )。
A、n B、ne C、e D、2e
7、在一个具有n个顶点和e条边的有向图的邻接表中,保存顶点单链接的表头指针向量大小至少为( )
A、n B、2n C、e D、2e
8、在一个具有n个顶点和e条边的无向图的邻接表中,边结点的个数为( )。
A、n B、ne C、e D、e
9、对于一个有向图,若一个顶点的度为k1,出度为k2,则对应逆邻接表中该顶点单链表中的边结点数为( )
A、k1 B、k2 C、k1-k2 D、k1+k2
10、采用邻接表存储的图的深度优先遍历算法类似于二叉树的( )
A、接层遍历 B、中序遍历 C、先序遍历 D、后序遍历
11、无向图G=(V,A),其中V={a,b,c,d,e}, A={<a,b>,<a,c>,<d,c>,<d,e>,<b,e>,<c,e>}
对该图进行扑拓排序,下面序列中( )不是拓扑序列。
A、adcbe B、dabce C、abdce D、abcde
12、G是一个非连通无向图,共有28条边,则该图至少有( )个顶点。
A、7 B、8 C、9 D、10
二、简答题
1、 对于一个有向图,不用拓扑排序,如何判定图中是否存在环?
2、 用邻接矩阵表示图时,矩阵元素的个数与顶点个数是否相关?与边数是否相关?
习题8
一、选择题
1、 若查找每个记录的概率均等,则在具有n个记录的连续顺序文件中采用顺序查找法查找一个记录,其平均查找长度ASL为( )
A、(n-1)/2 B、n/2 C、(n+1)/2 D、n
2、下面关于二分查找叙述正确的是( )
A、表必须有序,表可以顺序方式存储,也可以链表方式存储
B、表必须有序且表中数据必须是整型,实型或字符型
C、表必须有序,而且只能从小到大排序
D、表必须有序,且表只能以顺序方式存储
3、当在一个有序的顺序存储表上查找一个数据时,既可用折半查找,也可用顺序查找,但前者比后者的查找速度( )
A、必定快 B、不一定 C、在大部分情况下要快 D、取决于表递增还是递减
4、具有12个关键字的有序表,折半查找的平均查找长度为( )
A、3.1 B、4 C、2.5 D、5
5、当采用分块查找时,数据的组织方式为( )
A、数据分成若干块,每块内数据有序
B、数据分成若干块,每块内数据不必有序,但块间必须有序
C、数据分成若干块,每块内数据有序,每块内最大(或最小)的数据组成索引块
D、数据分成若干块,每块(除最后一块外)中数据个数需相同
6、既希望查找速度快又便于线性表动态变化的查找方法有()
A、顺序查找 B、折半查找 C、索引顺序查找 D、哈希法查找
7、分别以下序列构造二叉排序树,与用其他三个序列所构造的结果不同的是( )
A、(100,80,90,60,120,110,130) B、(100,120,110,130,80,60,90)
C、(100,60,80,90,120,110,130) D、(100,80,60,90,120,130,110)
二、简答题
1、 什么叫动态查找?什么叫静态查找?什么样的存储结构适宜于进行静态查找?什么样的存储结构适宜于进行动态查找?
2、 什么叫平均查找长度?写出平均查找长度的定义
三、设计题
1、 已知一个个数为12的数据元素序列为{Dec,Feb,Nov,Oct,June,Sept,Aug,Apr,May,July,Jan,Mar},要求(注意字母的大小是指字母的ASCII码数值大小):
(1) 按各数据元素的顺序构造一棵二叉排序树
(2) 设各数据元素的查找概率相等,给出该二叉排序树的平均查找长度。
2、 设有数据元素序列{11,23,35,47,51,60,75,88,90,102,113,126},用除留余数法构造哈希表,要求:
(1) 设计哈希表的长度取值为m;
(2) 画出用开放寻址法的线性探查法解决哈希冲突的哈希表结构;
(3) 画出用链表法解决哈希冲突的哈希表结构。
习题9
一、选择题
1、设有1000个无序的元素,希望用最快的速度挑出其中前10个最大的元素,最好( )排序法。
A、起泡排序 B、选择排序 C、堆排序 D、希尔排序
2、在待排序的元素序列基本有序的前提下,效率最高的排序方法是( )
A、插入排序 B、选择排序 C、快速排序 D、希尔排序
3、一组记录排序码为(46,79,56,38,40,84),则利用堆排序的方法建立的初始堆为( )
A、79,46,56,38,40,80 B、84,79,56,38,40,46
C、84,79,56,46,40,38 D、84,56,79,40,46,38
4、排序方法中,从未排序序列中依次取出元素与已排序序列(初始时为空)中的元素进行比较,将其放入已排序序列的正确位置上的方法,称为( )
A、希尔排序 B、起泡排序 C、插入排序 D、选择排序
5、下述几种排序方法中,要求内存量最大的是( )
A、插入排序 B、选择排序 C、快速排序 D、归并排序
6、下列四种排序方法中,不稳定的方法是( )
A、直接插入排序 B、冒泡排序 C、归并排序 D、直接选择排序
二、设计题
1、对给定的j(1<=j<=n),要求在无序的记录区R[1…n]中找到按关键字自小到大排在第j个位置上的记录(即在无序集合中找到第j个最小元),试利用快速排序的划分思想编写算法实现上述的查找操作。
2、以单链表为存储结构,写一个直接选择排序算法。
3、改写快速排序算法,要求采用三者取中的方式选择划分的基准记录;若当前被排序的区间长度小于等于3时,无须划分而是直接采用直接插入方式对其排序。
❺ 计算机算法必须具备5个特性
计算机算法是对计算机上执行的计算过程的具体描述。计算机算法的五个特点:
1.有穷性。
2. 确定性。
3. 输入性。
4. 输出性。
5.有效性。
❻ 计算机算法的特性包括
1.输入:在算法中可以有零个或者多个输入
2.输出:在算法中至少有一个或者多个输出
3.有穷行:在执行有限的步骤之后,自动结束不会出现无限循环并且每一个步骤在
可接受的时间内完成
4.确定性:算法的每一个步骤都具有确定的含义,不会出现二义性
5.可行性:算法的每一步都必须是可行的,也就是说,每一步都能够通过执行有限
的次数完成
❼ 关于数据结构的题
三、单项选择题
( C )1. 数据结构中,与所使用的计算机无关的是数据的 结构;
A) 存储 B) 物理 C) 逻辑 D) 物理和存储
( C )2. 算法分析的目的是:
A) 找出数据结构的合理性 B) 研究算法中的输入和输出的关系
C) 分析算法的效率以求改进 D) 分析算法的易懂性和文档性
( A )3. 算法分析的两个主要方面是:
A) 空间复杂性和时间复杂性 B) 正确性和简明性
C) 可读性和文档性 D) 数据复杂性和程序复杂性
( C )4. 计算机算法指的是:
A) 计算方法 B) 排序方法 C) 解决问题的有限运算序列 D) 调度方法
( C )5. 计算机算法必须具备输入、输出和
等5个特性。
A) 可行性、可移植性和可扩充性 B) 可行性、确定性和有穷性
C) 确定性、有穷性和稳定性 D) 易读性、稳定性和安全性
( C )6.数据在计算机存储器内表示时,物理地址与逻辑地址相同并且是连续的,称之为:
(A)存储结构 (B)逻辑结构 (C)顺序存储结构 (D)链式存储结构
( A )7. 一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是
(A)110 (B)108 (C)100 (D)120
( C )8. 向一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动 个元素
(A)8 (B)63.5 (C)63 (D)7
( AF )9. 链接存储的存储结构所占存储空间:
(A) 分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针
(B) 只有一部分,存放结点值
(C) 只有一部分,存储表示结点间关系的指针
(D) 分两部分,一部分存放结点值,另一部分存放结点所占单元数
(E)一定是不连续的 (F)连续或不连续都可以
( B )10. 线性表L在 情况下适用于使用链式结构实现。
(A)需经常修改L中的结点值 (B)需不断对L进行删除插入
(C)L中含有大量的结点 (D)L中结点结构复杂
( A )11. 栈中元素的进出原则是
A.先进先出 B.后进先出 C.栈空则进 D.栈满则出
( C )12. 若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,pn,若p1=n,则pi为
A.i B.n-i C.n-i+1 D.不确定
四、简答题
1. 试比较顺序存储结构和链式存储结构的优缺点。分别在什么情况下用二者更适合?
顺序存储结构的主要优点是:
节省存储空间,结点之间的逻辑关系没有占用额外的存储空间。
可实现对结点的随机存取。
主要缺点是:在作插入或删除操作时,可能需移动大量元素。
链式存储结构的主要优点是:
逻辑上相邻的节点物理上不必相邻;插入、删除灵活 (不必移动节点,只要改变节点中的指针)。
缺点是:
比顺序存储结构的存储密度小;查找结点时链式存储要比顺序存储慢。
2. 顺序队的“假溢出”是怎样产生的?如何知道循环队列是空还是满?
系统作为队列用的存储区还没有满,但队列却发生了溢出,我们把这种现象称为"假溢出"。
判断是空是满的方法为:Q->rear=(Q->rear+1) % QueueSize;
3. 设循环队列的容量为40(序号从0到39),现经过一系列的入队和出队运算后,有
① front=11,rear=19; ② front=19,rear=11;问在这两种情况下,循环队列中各有元素多少个?
第一种情况为:N=Q->rear-Q->front=8
第二种情况为:N=Q->rear+40-Q->front=32
❽ 什么是算法的稳定性
算法的稳定性一般是指复杂度的稳定性。
一般的算法都具有稳定性的,也就是说有固定的多项式时间。而一般的np问题和np完全问题有可能没有多项式的复杂度,所以可能有些问题很快,有些问题慢。
❾ 数据结构卷子!高手帮忙做一下!谢谢!
不好答,看不起你这种人。该删。
❿ 多选题: 1、计算机算法必须具备输入、输出和________等特性
ACD。计算机算法有五个重要特性,就是有穷性、确定性、可行性、输入和输入。
算法特点
1、有穷性。一个算法应包含有限的操作步骤,而不能是无限的。事实上“有穷性”往往指“在合理的范围之内”。如果让计算机执行一个历时1000年才结束的算法,这虽然是有穷的,但超过了合理的限度,人们不把他视为有效算法。
2、确定性。算法中的每一个步骤都应当是确定的,而不应当是含糊的、模棱两可的。算法中的每一个步骤应当不致被解释成不同的含义,而应是十分明确的。也就是说,算法的含义应当是唯一的,而不应当产生“歧义性”。
3、有零个或多个输入、所谓输入是指在执行算法是需要从外界取得必要的信息。
4、有一个或多个输出。算法的目的是为了求解,没有输出的算法是没有意义的。
5、有效性。 算法中的每一个 步骤都应当能有效的执行。并得到确定的结果。
(10)稳定性是计算机算法必须具备的吗扩展阅读:
算法特点
1、有穷性。一个算法应包含有限的操作步骤,而不能是无限的。事实上“有穷性”往往指“在合理的范围之内”。如果让计算机执行一个历时1000年才结束的算法,这虽然是有穷的,但超过了合理的限度,人们不把他视为有效算法。
2、确定性。算法中的每一个步骤都应当是确定的,而不应当是含糊的、模棱两可的。算法中的每一个步骤应当不致被解释成不同的含义,而应是十分明确的。也就是说,算法的含义应当是唯一的,而不应当产生“歧义性”。
3、有零个或多个输入、所谓输入是指在执行算法是需要从外界取得必要的信息。
4、有一个或多个输出。算法的目的是为了求解,没有输出的算法是没有意义的。
5、有效性。 算法中的每一个 步骤都应当能有效的执行。并得到确定的结果。