链表是一种采用( )存储结构存储的线性表
(A)顺序 (B)链式(C)星式 (D)网状
当输入非法错误时,一个“好”的算法会进行适当处理,而不会产生难对理解的输出结果。这称为算法的( )。
A)可读性 B)健壮性 C)正确性 D)有穷性
顺序表的基本操作 ClearList用于将一个顺序表置为空表。算法描述如下:
Status ClearList(SqList &L){__________(??)____return(OK); }
请选择正确的选项填在空中。(A) L.size=0;(B) L.length=0;(C) L.elem=0;(D) for(i=0;i<L.length;i++)L.elem[i]=0;
可以用( )定义一个完整的数据结构。
A)数据元素 B)数据对象
C)数据关系 D)抽象数据类型
顺序表----插入操作算法描述:请选择正确的选项填在空中。Status ListInsert_Sq(SqList &L , int i , ET e){if ( i<1 || i>L.length+1) return ERROR;if(L.length >= L.listsize){p=(ET*)realloc(L.elem,(L.listsize+10)*sizeof(ET));if (p==NULL)exit(OVERFLOW);L.elem=p;L.listsize+=10;}for(j=L.length ; j>=i ; --j)L.elem[j]=L.elem[j-1];L.elem[j]=e ;++L.length ;return OK;}//此算法的时间复杂度是:_______(A) O(n)(B) O(n/2)(C) O(2n)(D) O(1)
下述哪一条是顺序存储结构的优点?
A)插入运算方便 B)可方便地用于各种逻辑结构的存储表示
C)存储密度大 D)删除运算方便
线性表的顺序储存结构是一种()的存储结构
A.随机存取 B.顺序存取 C.索引存取 D.散列存取
下列关于线性表的叙述中,错误的是()。
(A) 线性表采用顺序存储,必须占用一片连续的存储单元
(B) 线性表采用顺序存储,便于进行插入和删除操作
(C) 线性表采用链式存储,不必占用一片连续的存储单元
(D) 线性表采用链式存储,便于进行插入和删除操作
一个算法应该是( )。
A)程序 B)问题求解步骤的描述 C)要满足五个基本特性 D)A和C
A)循环队列是顺序存储结构 B)循环队列是链式存储结构
C)循环队列是非线性结构 D)循环队列的插入运算不会发生溢出现象
若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为()。
A.O(0) B.O(1)
C.O(n) D.O(n2)
将两个各有n个元素的有序表归并成一个有序表,其最少的比较次数是( )。
A.n B.2n-1 C.2n D.n-1
线性表若采用链式存储结构时,要求内存中可用存储单元的地址: ( )
(A)必须是连续的 (B)部分地址必须是连续的(C)一定是不连续的 (D)连续或不连续都可以
从一个长度为n的顺序表中,删除值为x的元素时需要比较元素和移动元素的总次数为( )。
A(n+1)/2 B n/2
C n D n+1
计算机算法必须具备( )这三个特性。
A)可执行性、可移植性、可扩充性 B)可执行性、确定性、有穷性
C)确定性、有穷性、稳定性 D)易读性、稳定性、安全性
顺序存储结构( ):
A.仅适合于静态查找表的存储
B.仅适合于动态查找表的存储
C.既适合静态又适合动态查找表的存储
D.既不适合静态又不适合动态查找表的存储
对于顺序存储的线性表,访问结点和增加结点的时间复杂度为()。
A.O(n) O(n) B.O(n) O(1)
C.O(1) O(n) D.O(1) O(1)
连续存储设计时,存储单元的地址( )。
A)一定连续 B)一定不连续
C)不一定连续 D)部分连续,部分不连续
一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的起始地址是
(A)110 (B)108(C)100 (D)120
在n个结点的顺序表中,算法的时间复杂度是O(1)的操作是:( )(A)访问第i个结点(1≤i≤n)和求第i个结点的直接前驱(2≤i≤n)(B)在第i个结点后插入一个新结点(1≤i≤n)(C)删除第i个结点(1≤i≤n)(D) 将n个结点从小到大排序
下面()时间复杂性最好,即执行时间最短的。
A O(n) B O(logn)
C O(nlogn) D O(n2)
循环链表中每一个元素都有后继。
线性表的长度是线性表占用的存储空间的大小。
在用循环单链表表示的链式队列中,可以不设队头指针,仅在链尾设置队尾指针。
顺序存储的线性表可以随机存取。
线性表在物理存储空间中也一定是连续的。
线性表的逻辑顺序与物理顺序总是一致的。
设线性表中有n个数据元素,则在顺序存储结构上实现顺序查找的平均时间复杂度为,在链式存储结构上实现顺序查找的平均时间复杂度为。
在顺序表中访问任意一结点的时间复杂度均为,因此,顺序表也称为的数据结构。
一个算法的效率可分为复杂度和复杂度
顺序表中逻辑上相邻的元素的物理位置。
以顺序查找方法从长度为n的顺序表或单链表中查找一个元素时,平均查找长度为,时间复杂度为。
表长为n的顺序表中,若在第i个数据元素(1≤i≤n+1)之前插入一个数据元素,需要向后移动个数据元素;删除第i个数据元素需要向前移动个数据元素;在等概率的情况下,插入一个数据元素平均需要移动个数据元素,删除一个数据元素平均需要移动个数据元素。
线性表是一种典型的结构。
当对一个线性表经常进行存取操作,而很少进行插入和删除操作时,则采用存储结构为宜。相反,当经常进行的是插入和删除操作时,则采用存储结构为宜。
在一个长度为n的顺序表中第i个元素(1<=i<=n)之前插入一个元素时,需向后移动个元素。
在顺序表第i(1<=i<=n)个元素之后插入新元素x时,需要移动个元素
在一个长度为n的顺序表中的第i个元素之前插入一个元素,需要后移个元素
在已知的顺序表中某个位置加入一个元素。图示中第二至四行是键盘输入的,最后一行是输出。第二行表示初始元素的个数。第三行是输入相应元素。第四行是输入需要加入的位置和元素的值(图示合法位置是1到6)。请在/******start******/和/******end******/注释之间添加代码完成插入元素操作。
查找顺序表中最小两个元素下标。其中pos1获得最小元素的下标,pos2获得次小元素的下标。如果有两个相等元素需要选择一个时,返回下标小的。
图中10和2 8 5 7 3 1 6 9 10 4是键盘输入的数据。
查找顺序表中最小两个元素下标。其中pos1获得两个元素中前面那个元素的下标,pos2获得两个元素后面那个元素的下标。如果有两个相等元素需要选择一个时,返回下标小的。
从顺序结构(n个元素)中第i个(1 <= i <= n)位置连续删除k个(k > 0)元素,第1,3,5行为输入提示,第2,4,6行需要用户输入,第8行为输出。
保持数列有序:有n(约定n<=100)个整数,已经按照从小到大顺序排列好,现在另外给一个整数x,请将该数插入到序列中,并使新的序列仍然有序。程序输入:输入数据包含多组测试实例,每组数据由两行组成,第一行是n和x,第二行是已经有序的n个数的数列。n和x同时为0表示输入数据的结束,本行不做处理。 程序输出:对于每个测试实例,输出插入新的元素后的数列。
程序的运行效果应类似地如图所示,图中的3 3、1 2 4、5 6、1 7 8 9 10、2 5、1 3和0 0是从键盘输入内容。
编写一个程序,判断输入的字符串是否为回文;所谓“回文”指字符串从左向右读取的结果与从右向左读取的结果相同。程序结果中第一行“Enter a number:”为固定输入,后接输入的字符串;第二行:“output:”为固定输出,后接判断结果;若为回文,则输出"It's a huiwen number";若不为回文,则输出"It's not a huiwen number"
将Lb中不存在于La的元素添加到La线性表表尾。其中已有顺序表La和Lb,其中各自线性表内的元素均不重复。编写函数完成将Lb线性表中的不存在于La线性表的元素添加到La线性表的后面。
图中第一行的10,第三行的1 5 2 3 7 8 9 10 6 4,第四行的5,第六行的2 11 30 4 5是键盘输入的数据。
一个旅行社要从n名旅客中选出一名幸运旅客,为他提供免费环球旅行服务。方法是,大家站成圈,然后选定一个m,从第1个人开始报数,报到m时,这个人OUT,然后从下一个人开始重新从1报数,重复这个过程,直到最后剩下一个人就是幸运之星。问题就是谁是幸运者呢?图示中10 3是键盘输入的,表示10名旅客,报到3时OUT。
将两个顺序存储的有序(升序)表合并成一个有序表(设用户输入的是有序表,忽略检测用户有序状况的检查),合并后输出。第1,3,5,7行为用户输入提示,2,4,6,8行为用户输入,第10行为输出的结果。