长度为n的线性表,用快速排序法,最坏情况要比较几次

作者&投稿:狐张 (若有异议请与网页底部的电邮联系)
对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是(  )~

选择D。
快速排序是拿比较向邻1个单元的大小,并按一定方向排列,大小方向不符合的就把2个单元交换,依次比较下去。
例如:12,23,34,45,56,67,这样就确定了一个最大(最小)的单元,并把它排列一端,交换次数为N-1,然后在除了最值外的N-1个单位中继续排列,出来第2个最大(最小)值,次数为N-2,以此类推。
总次数为N-1+N-2+N-3+.+1=N(N-1)/2。

扩展资料:
分类
我们说“线性”和“非线性”,只在逻辑层次上讨论,而不考虑存储层次,所以双向链表和循环链表依旧是线性表。
在数据结构逻辑层次上细分,线性表可分为一般线性表和受限线性表。一般线性表也就是我们通常所说的“线性表”,可以自由的删除或添加结点。受限线性表主要包括栈和队列,受限表示对结点的操作受限制。

优点
线性表的逻辑结构简单,便于实现和操作。因此,线性表这种数据结构在实际应用中是广泛采用的一种数据结构。

特征
1、集合中必存在唯一的一个“第一元素”。
2、集合中必存在唯一的一个 “最后元素” 。
3、除最后一个元素之外,均有唯一的后继(后件)。
4、除第一个元素之外,均有唯一的前驱(前件)。
存储结构
线性表主要由顺序表示或链式表示。在实际应用中,常以栈、队列、字符串等特殊形式使用。
顺序表示指的是用一组地址连续的存储单元依次存储线性表的数据元素,称为线性表的顺序存储结构或顺序映像(sequential mapping)。它以“物理位置相邻”来表示线性表中数据元素间的逻辑关系,可随机存取表中任一元素。
链式表示指的是用一组任意的存储单元存储线性表中的数据元素,称为线性表的链式存储结构。它的存储单元可以是连续的,也可以是不连续的。
在表示数据元素之间的逻辑关系时,除了存储其本身的信息之外,还需存储一个指示其直接后继的信息(即直接后继的存储位置),这两部分信息组成数据元素的存储映像,称为结点(node)。
它包括两个域;存储数据元素信息的域称为数据域;存储直接后继存储位置的域称为指针域。指针域中存储的信息称为指针或链。
参考资料来源:百度百科--线性表
参考资料来源:百度百科--排序法

n(n-1)/2

最坏情况下,是整个序列都已经有序或完全倒序
此时,快速排序退化为冒泡排序,要比较n²次才能完成


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

在一个长度为n的线性表中顺序查找值为x的元素时,在等概率情况下查找成功...
最好的情况:目标在第一个,一次找到 ···最坏的情况:目标在最后一个,n次找到 那么:平均长度:(1+2+···+n)\/n =(n(n+1)\/2)\/n =(n+1)\/2

已知线性表A的长度为n,并且采用顺序存储结构。写一算法,删除线性表中...
P->n=p->n-count;if(p->element[i]==x)p->n--;} (4)代价分析 该算法访问顺序表中每个元素各一次,时间代价为O(n)。这个算法使用了一点技巧,使得在中间删除元素时,避免了最后一串元素的移动。但是,它破坏了原来线性表中元素之间的顺序关系。如果需要保持原来的顺序应该怎样做?这里提供...

对一个长度为n的线性表进行逆置运算,时间复杂度是多少?
对一个长度为n的线性表进行逆置运算的时间复杂度是O(n),因为需要遍历整个线性表并将元素逆序排列。

在长度为n的有序线性表中进行二分查找,需要的比较次数为什么是:以2...
,则只要在数组a的左半部分继续搜索x,如果xa[n\/2],则只要在数组a的右半部搜索x. 时间复杂度无非就是while循环的次数! 总共有n个元素, 渐渐跟下去就是n,n\/2,n\/4,...n\/2^k,其中k就是循环的次数 由于你n\/2^k取整后=1 即令n\/2^k=1 可得k=log2n,(是以2为底,n的对数)

为什么长度为n的有序线性表,在最坏情况下,二分查找只需要比较log2n次...
因为每次查找失败时,下一轮待查找长度都是“减半”的。(若查找成功则立即结束查找)

数据结构判断题 帮做下
2.对长度为N的线性表进行顺序查找,当查找失败时比较次数为【 】.3.在长度为N的线性表中进行二分查找,在最快的情况下,需要比较的次数为【 】.4.设待排数据元素的关键字为(67,24,14,22,33,15,11,15),用选择法将其按升序排序,需要比较的次数为【 】.5.某二叉树中度为2的结点有...

在长度为n的线性表中寻找最大项至少需要比较几次?急用,在线等。
8、对一个满二叉树,m个树叶,n个结点,深度为h,则D(D答案应该是n=2^h-1吧)A、n=h+m B、h+m=2n C、m=h—1 D、 n=2 h—1 9、对线性表采用折半查找法,该线性表必须C A、采用顺序存储结构 B、采用链式存储结构 C、采用顺序存储结构,且元素按值有序 D、采用链式存储...

求计算机二级ms的选择题题目
不好上传附件了,可以加我发给你 第一章 1.算法的有穷性是指()。答案:A A)算法程序的运行时间是有限的 B)算法程序所处理的数据量是有限的 C)算法程序的长度是有限的 D)算法只能被有限的用户使用 2.对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)\/2的排序方法是()。

在一个长度为n的有序表中插入一个新元素x,要求插入后仍保持线性表的有...
先用一个变量,保存要插入的值,从数组的最后一个元素开始,假设数组原先是升序的。把所有大于x的元素都后移一位,最后把x插入到最后后移元素的原来位置,并把数组的有效元素个数加一,这样就完成了插入的操作。

拜泉县19698923656: 长度为n的线性表,在最坏情况下,快速排序的比较次数
勤才帮君: n(n-1)/2

拜泉县19698923656: 长度为n的线性表,用快速排序法,最坏情况要比较几次 -
勤才帮君: 最坏情况下,是整个序列都已经有序或完全倒序 此时,快速排序退化为冒泡排序,要比较n²次才能完成

拜泉县19698923656: 使用顺序存储结构线性表对n 个元素进行排序时,快速排序法时间复杂度最坏的情况是 ,平均情况是 . -
勤才帮君:[答案] 最坏n次,平均n/2次

拜泉县19698923656: 关于冒泡排序与快速排序. 对于长度为N的线性表,在最坏的情况下,下列各排序法所对应的比较次数中正确的是(). -
勤才帮君:[选项] A. 冒泡排序为N/2 B. 冒泡排序为N C. 快速排序为N D. 快速排序为N(N-1)/2

拜泉县19698923656: 江西省计算机二级考试内容 -
勤才帮君: VF考试里包括基础和VF知识,理论考试里面分:基础nbsp;30分,VFPnbsp;70分,上机考试里面:基础nbsp;60分(基本操作:WORDnbsp;EXCELnbsp;POWERPOINT)nbsp;VFPnbsp;40分(改错:20分nbsp;填空:20分)nbsp;C语言程序...

拜泉县19698923656: 交换类排序,选择类排序,插入类排序??是什么? -
勤才帮君: 排序技术:1交换类排序法 2差入排序法 3选择类排序法. 1交换类排序法:借助数据元素之间的互相交换进行排序的一种方法. 2插入排序法:将无序序列中的各元素依次插入到已经有序的线性表中. 3暂无.(有待继续查找) 交换类排序法:...

拜泉县19698923656: 希尔排序法属于哪一种类型的排序法 -
勤才帮君: 属于插入排序中的一种,是直接插入排序算法的改进.

拜泉县19698923656: 算法中关于冒泡排序和快速排序长度为n的线性表,最坏情况下,冒泡排序的比较次数为n(n - 1)/2,那快速排序呢?那时间复杂度和比较次数有什么区别? -
勤才帮君:[答案] 最坏情况下快排将脱变为冒泡时间复杂度同为n^2比较次数为n(n-1)/2比较次数很容易理就是说进行了多少次比较操作.来看看时间复杂度,这是个软件工程方面的概念.时间复杂度 算法分析 同一问题可用不同算法解决,而一...

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