02331数据结构

对N(n>0)个记录进行冒泡排序,最少要交换()记录。

题目

对N(n>0)个记录进行冒泡排序,最少要交换()记录。

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

对于n个记录的集合进行冒泡排序,在最坏情况下时间复杂度是O(n2)()

此题为判断题(对,错)。


参考答案:对

第2题:

对含有n个关键词的序列进行冒泡法排序,最少的比较次数是______。

A.n

B.n-1

C.n/2

D.n-2


正确答案:B

第3题:

有n个记录存储在带头结点的双向链表中,现用双向冒泡排序法对其按上升序进行排序,请写出这种排序的算法。(注:双向冒泡排序即相邻两趟排序向相反方向冒泡)。


参考答案:
  [算法描述]:
  typedef struct node
  { ElemType data;
  struct node *prior,*next;
  }node,*DLinkedList;
  void TwoWayBubbleSort(DLinkedList la)
  //对存储在带头结点的双向链表la中的元素进行双向起泡排序。
  {int exchange=1; // 设标记
  DLinkedList p,temp,tail;
  head=la //双向链表头,算法过程中是向下起泡的开始结点
  tail=null; //双向链表尾,算法过程中是向上起泡的开始结点
  while (exchange)
  {p=head->next; //p是工作指针,指向当前结点
  exchange=0; //假定本趟无交换
  while (p->next!=tail) // 向下(右)起泡,一趟有一最大元素沉底
  if (p->data>p->next->data) //交换两结点指针,涉及6条链
  {temp=p->next; exchange=1;//有交换
  p->next=temp->next;temp->next->prior=p //先将结点从链表上摘下
  temp->next=p; p->prior->next=temp; //将temp插到p结点前
  temp->prior=p->prior; p->prior=temp;
  }
  else p=p->next; //无交换,指针后移
  tail=p; //准备向上起泡
  p=tail->prior;
  while (exchange && p->prior!=head)
  //向上(左)起泡,一趟有一最小元素冒出
  if (p->dataprior->data) //交换两结点指针,涉及6条链
  {temp=p->prior; exchange=1; //有交换
  p->prior=temp->prior;temp->prior->next=p;
  //先将temp结点从链表上摘下
  temp->prior=p; p->next->prior=temp; //将temp插到p结点后(右)
  temp->next=p->next; p->next=temp;
  }
  else p=p->prior; //无交换,指针前移
  head=p; //准备向下起泡
  }// while (exchange)
  } //算法结束

第4题:

冒泡排序在一趟排序中没有记录交换,则说明记录已经有序,停止排序。


正确答案:正确

第5题:

对n个元素的序列进行冒泡排序时,最少的比较次数是_________。


正确答案:
n—1 
【解析】 当初始元素正序时,第一趟比较n—1次,交换数为0,完成排序。

第6题:

按排序策略分类,冒泡排序属于(59)。对n个记录的文件进行排序时,如果待排序文件中的记录初始时为所要求次序的逆序,则冒泡排序过程中需要进行(60)次元素值的比较。

(50)

A.插入排序

B.选择排序

C.交换排序

D.归并排序


正确答案:C

第7题:

对n个元素的序列进行冒泡排序时,最少的比较次数是【1】。


正确答案:
n-1

第8题:

有n个记录的冒泡排序最多进行n趟。()

此题为判断题(对,错)。


参考答案:错误

第9题:

对于n个记录的集合进行冒泡排序,在最坏的情况下所需要的时间是()。若对其进行快速排序,在最坏的情况下所需要的时间是()。


正确答案:O(n2);O(n2

第10题:

关于冒泡排序的比较次数和排序趟数描述正确的是()。

  • A、N个记录最多N-1趟排序即可完成
  • B、N个记录最少比较N-1次,可完成排序,这是记录完全有序的情况
  • C、N个记录最多比较N*(N-1)/2次可完成排序,这是记录完全逆序的情况
  • D、在一趟排序中若无记录交换,就会停止排序

正确答案:A,B,C,D