对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是(  )。

作者&投稿:充浅 (若有异议请与网页底部的电邮联系)
~ 【答案】:A
在最坏情况下,冒泡排序所需要的比较次数为n(n-1)/2;简单插入排序所需要的比较次数为n(n-1)/2;希尔排序所需要的比较次数为O(n1.5);堆排序所需要的比较次数为O(nlog2n)。

冒泡最坏情况下,就是反序的序列排序,例如

3 2 1排成1

2 3

这样排的话,比较次数就是n*(n-1)/2

快速排序最坏情况,就是每次选的基准数,都对比过整段。然后,将划分这段数为0和n-1,例如

1 2 3 4

1做第一次对比数,从后向前对比,比完后划分,2 3 4分成下一段,递归

这样比较就是n*(n-1)/2次~


已知长度为n的线性表A采用顺序存储结构,写一时间效率有效的算法,删除数 ...
\/\/空表或x>y的返回false int i,j;for(i=L.n-1;i>=0;i--)if(L.data[i]>=x&&L.data[i]<=y)\/\/满足条件 {for(j=i+1;j<L.n;j++)L.data[j-1]=L.data[j]\/\/删除后后面的元素都向前移一位 L.n--;} return ture;\/\/删除成功,返回ture } 时间复杂度为O(n^2)...

\/\/已知长度为n的线性表A采用顺序存储结构,请写一段时间复杂度为O(n...
include <stdio.h> void FDelete(int array[], int *p){ int i;int n = *p;n = (n+1)\/2;for(i=0;i<n;i++){ array[i] = array[i*2];} p = n;} int main(){ int i;int n;int a[10] = {0,1,2,3,4,5,6,7,8,9};n = 10;FDelete(a,&n);for(i=0;i<...

若某线性表长度为n且采用顺序存储方式,则运算速度最快操作是...
【答案】:B 在线性表中插入和删除元素都需要修改前驱和后继指针。查找并返回第i个元素值,这个只要找到该位置读取即可。查找与给定值相匹配元素位置,先读取第一个元素再比较,依次类推直到找到该元素。

假设线性表的长度为n,则在最坏情况下,冒泡排序需要的比较次数为( )。A...
至此第一趟结束,将最大的数放到了最后。在第二趟:仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),将小数放前,大数放后,一直比较到倒数第二个数(倒数第一的位置上已经是最大的),第二趟结束,在倒数第二的位置上得到一个新的最大数(其实...

已知长度为n的线性表A用顺序存储结构设计一个算法,似的线性表中数据元...
int length; \/\/链表长度 }LinkList,*ptr_LinkList;ptr_LinkList CreateList(void){\/\/创建一个空链表 ptr_LinkList linklist;linklist=(LinkList *)malloc(sizeof(LinkList));if(!linklist){ printf("allocation failed.\\n");} linklist->head=NULL;linklist->tail=NULL;linklist->length=...

当顺序存储的线性表从0开始编号,长度为n,
对于一个长度为n的顺序存储的线性表,在表头插入元素的时间复杂度为0(n),在表尾插入元素的时间复杂度为0(1)。顺序存储的线性表,是用数组实现的。在表尾插入元素,只要直接在表尾增加一个元素,并修改表的元素个数(加1)。所以其复杂度为0(1)。

在长度为n的线性表中寻找最大项至少需要比较几次?急用,在线等。_百度...
11、链表不具有的特点是A A、可随机访问任一元素 B、插入删除不需要移动元素 C. 不必事先估计存储空间 D. 所需空间与线性表长度成正比 12、已知字符串s1=”efgd”, a=strlen(s1)则a 的值是 C A、3 B、4 C、5 D、6 那个最后补充的程序觉得是 12345678910 恩,我有点激动了...

已知长度为n的线性表A采用顺序存储结构,请写一算法,找出该线性表中值最...
min = -1;for(i=0; i<n i++)if(min > A[i])min = A[i];最小值为min

已知长度为n的线性表A采用链式存储结构
\/\/ 可以通过排序解决,也可以直接倒置链表 \/\/ 下面是链表倒置代码(假定被倒置的链表没有头结点)LinkList *Inversion(LinkList *head) { LinkList *p = NULL,*q = head,*t;t = q->next;while(q) { q->next = p;p = q;q = t;t = t->next;} head = p;return head;} ...

若长度为n的线性表采用链式存储结构,要在第i个位置(0<=i<=n)插入一...
这题一开始我也做错了。一般来讲,链式存储很方便插入和删除,确实是O(1),但是这是建立在你有指针指向要插入的位置作为前提的。本题无专门指针,强调了第i个位置,那么就还需要额外的O(n)来找到第i个位置。

水城县19746654061: 对于长度为n的线性列表,在最坏的情况下,比较次数为多少 -
苍梧波特普: hghg

水城县19746654061: 对长度为n的线性表进行顺序查找,在最坏情况下所的比较次数为多少?给一个解题思路 -
苍梧波特普:[答案] 最糟糕的情况应该是比较到线性表最后一个值,也没有查找到所需要的值,那么从线性表的第0个值开始比较,每次取出一个值比较,不符合,再取下一个值,依次比较,一直到最后一个,那么长度为N,就需要比较N次.

水城县19746654061: 关于冒泡排序与快速排序. 对于长度为N的线性表,在最坏的情况下,下列各排序法所对应的比较次数中正确的是(). -
苍梧波特普:[选项] A. 冒泡排序为N/2 B. 冒泡排序为N C. 快速排序为N D. 快速排序为N(N-1)/2

水城县19746654061: 对长度为n的线性表进行顺序查找,在最坏情况下所需要的比较次数为 - ---. -
苍梧波特普: 最糟糕的情况应该是比较到线性表最后一个值,也没有查找到所需要的值,那么从线性表的第0个值开始比较,每次取出一个值比较,不符合,再取下一个值,依次比较,一直到最后一个,那么长度为N,就需要比较N次.

水城县19746654061: 对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是( ) -
苍梧波特普: D~ 冒泡最坏情况下,就是反序的序列排序,例如 3 2 1排成1 2 3 这样排的话,比较次数就是n*(n-1)/2 快速排序最坏情况,就是每次选的基准数,都对比过整段.然后,将划分这段数为0和n-1,例如 1 2 3 4 1做第一次对比数,从后向前对比,比完后划分,2 3 4分成下一段,递归 这样比较就是n*(n-1)/2次~

水城县19746654061: 在长度为n的顺序存储的线性表中删除一个元素,最坏情况下需要移动表中的元素个数 -
苍梧波特普: 是数组的个数n-1了

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网