问答题

设计求解下列问题的算法,并分析其最坏情况的时间复杂度。设某机器表示的整数不超过5位十进制数字。试设计一种表示任意长的整数的数据结构,并利用设计的数据结构,写出计算任意给定的两个整数之和的算法。

答案: 将用户输入的正整数按各位数字存放在一个顺序表中,这样就变成了两个顺序表中的数字相加。实现本题功能的程序代码如下: int...
题目列表

你可能感兴趣的试题

问答题

设计求解下列问题的算法,并分析其最坏情况的时间复杂度。在数组A[1,…,n]中查找值为K的元素,若找到则输出其位置i;否则输出0作为标志。

答案: 算法如下: int locate(datatype A[],datatype k) //datatype为C语言标准数据...
问答题

设计求解下列问题的算法,并分析其最坏情况的时间复杂度。找出数组A[1,…,n]中元素的最大值和次最大值。

答案: 算法如下: void max(datatype A[],datatype m,datatype sm) //dataty...
问答题

设计求解下列问题的算法,并分析其最坏情况的时间复杂度。说明在线性表的链式存储结构中,头指针与头结点之间的根本区别以及头结点与开始结点的关系。

答案: 用链表存储结构来表示线性表时,链表的头指针一般指向其第一个结点,它有标识链表的作用。头结点的作用在于统一相关操作,如对链...
问答题

设计求解下列问题的算法,并分析其最坏情况的时间复杂度。请简要比较顺序表和链表各自的特点。

答案: (1)基于空间的比较。 1)存储分配的方式: 顺序表的存储空间是静态分配的。 链表的存储空间是动态分配的。 2)存储密度...
问答题

分析以下各程序段的时间复杂度。分析以下程序段的时间复杂度。 ... i=1; while(i<=n) i=i*2; ...

答案: 此处循环体里面是i=i*2,即每循环一次,i值增加一倍,所以执行次数与n之间是以2为底的对数关系,故时间复杂度为O(lo...
问答题

设计求解下列问题的算法,并分析其最坏情况的时间复杂度。编写一个算法实现两个有序(从小到大)顺序表合并成为一个顺序表,合并后的结果放在第一个顺序表中,不另设新的顺序表存储(假设这两个有序顺序表中没有相同的元素)。

答案: 可以按照如下策略实现顺序表A和B的合并过程:从A和B的最后一个元素逐个向前进行比较,将较大的元素先定位在A中。 代码如下...
问答题

设计求解下列问题的算法,并分析其最坏情况的时间复杂度。编写一个算法,将m(m≥2)个有序(从小到大)顺序表合并成一个有序顺序表,合并过程中不另设新的顺序表存储。

答案: 将线性表A和B合并的过程如下:从A的最后一个元素和B的第一个元素开始分别向前、向后进行比较,将较大的元素先定位在A中。 ...
问答题

分析以下各程序段的时间复杂度。分析order函数的时间复杂度。 order(int j,int n) { int i,temp; if(j<n) { for(i=j;i<=n; ++i) if(a[i]<a[j]) { temp=a[i]; a[i]=a[j]; a[j]=temp; } ++j; order(j,n); //递归调用 } }

答案: order()函数是一个递归排序过程,设T(n)是排序n个元素所需要的时间。在排序n个元素时,算法的计算时间主要花费在递...
问答题

设计求解下列问题的算法,并分析其最坏情况的时间复杂度。设A和B是两个顺序表,其元素按从小到大的顺序排列。编写一个将A和B中相同元素组成一个新的从大到小的有序顺序表C的算法,并分析算法的时间复杂度。

答案: 本算法是从A和B的最后两个元素开始比较,若相等,将其值放入C的第一个元素中,如此直到A和B中的所有元素比较完毕。实现本题...
问答题

设计求解下列问题的算法,并分析其最坏情况的时间复杂度。设有一个表头指针为h的单链表,试设计一个算法,通过遍历一趟链表,将链表中所有结点的链方向逆转,如图所示。

答案: void Reverse(LNode *&h) { //设单链表没有表头结点,h直接指示链表首元结点。链表全部逆转后,h...
问答题

设计求解下列问题的算法,并分析其最坏情况的时间复杂度。设某机器表示的整数不超过5位十进制数字。试设计一种表示任意长的整数的数据结构,并利用设计的数据结构,写出计算任意给定的两个整数之和的算法。

答案: 将用户输入的正整数按各位数字存放在一个顺序表中,这样就变成了两个顺序表中的数字相加。实现本题功能的程序代码如下: int...
问答题

设计求解下列问题的算法,并分析其最坏情况的时间复杂度。假定数组A[0,…,n-1]中有多个零元素,试写出一个函数,将A中所有的非零元素依次移到数组A的前端。

答案: 因为数组是一种直接存取的数据结构,在一维数组中元素不是像顺序表那样集中存放于表的前端,而是根据元素下标直接存放于数组某个...
微信扫码免费搜题