首页
题库
网课
在线模考
桌面端
登录
搜标题
搜题干
搜选项
0
/ 200字
搜索
问答题
某个待排序的序列是一个可变长度的字符串序列,这些字符串一个接一个地存储于唯一的字符数组中。请改写快速排序算法,对这个字符串序列进行排序。
答案:
正确答案:int Partition(RecType R[],int n,int h){ //一趟快速排序算法,枢轴记录...
点击查看完整答案
在线练习
手机看题
你可能感兴趣的试题
问答题
在执行某种排序算法的过程中出现了排序码朝着最终排序序列相反的方向移动,从而认为该排序算法是不稳定的,这种说法对吗为什么
答案:
正确答案:这种说法不对。因为排序的不稳定性是指两个关键字值相同的元素的相对次序在排序前后发生了变化,而题中叙述和排序中稳...
点击查看完整答案
手机看题
问答题
设有5个互不相同的元素a,b,c,d,e,能否通过7次比较就将其排好序如果能,请列出其比较迎程;如果不能,则说明原因。
答案:
正确答案:可以做到。取a与b进行比较,c与d进行比较。设a>b,c>d(a<b和c<d情况类似),此时需2次比较,取b和...
点击查看完整答案
手机看题
问答题
对一个由n个关键字不同的记录构成的序列,能否用比2n一3少的次数选出该序列中关键字取最大值和关键字取最小值的记录请说明如何实现在最坏的情况下至少要进行多少次比较
答案:
正确答案:将n个元素对称比较,即第一个元素与最后一个元素比较,第二个元素与倒数第二个元素比较……比较中的小者放前半部,大...
点击查看完整答案
手机看题
问答题
利用比较的方法进行排序,在最坏的情况下能达到的最好时间复杂性是什么请给出详细证明。
答案:
正确答案:假定待排序的记录有n个。由于含n个记录的序列可能出现的状态有n!个,则描述n个记录排序过程的判定树必须有n!个...
点击查看完整答案
手机看题
问答题
已知下列各种初始状态(长度为n)元素,试问当利用直接插入法进行排序时,至少需要进行多少次比较(要求排序后的文件按关键字从大到小顺序排列) (1)关键字自小到大有序(key
1
<key
2
<…<key
n
); (2)关键字自大到小逆序(key
1
>key
2
>…>key
n
); (3)奇数关键字顺序有序,偶数关键字顺序有序(key
1
<key
3
<…,key
2
<key
4
<…); (4)前半部分元素按关键字顺序有序,后半部分元素按关键字顺序逆序(key
1
<key
2
<…<key
m
,key
m+1
> key
m+2
<…<key
n
,m为中间位置)。
答案:
正确答案:本题主要考查直接插入法的算法思想及性能分析。 根据题目所给出的条件,最好情况下的比较次数即为最少比较次数。 (...
点击查看完整答案
手机看题
问答题
对于n个元素组成的线性表进行快速排序时,所需进行的比较次数与这n个元素的初始排序有关。问: (1)当n=7时,在最好情况下需进行多少次比较请说明理由。 (2)当n=7时,给出一个最好情况的初始排序的实例。 (3)当n=7时,在最坏情况下需进行多少次比较请说明理由。 (4)当n=7时,给出一个最坏情况的初始排序的实例。
答案:
正确答案:(1)在最好情况下,假设每次划分能得到两个长度相等的子文件,文件的长度n=2k一1,那么第一遍划分得到两个长度...
点击查看完整答案
手机看题
问答题
关于堆的一些问题: (1)堆的存储表示是顺序的,还是链接的 (2)设有一个最小堆,即堆中任意结点的关键字均大于它的左孩子和右孩子的关键字。其具有最大值的元素可能在什么地方 (3)对n个元素进行初始建堆的过程中,最多做多少次数据比较(不用大O表示法)
答案:
正确答案:(1)堆的存储是顺序的。 (2)最大值元素一定是叶子结点,在最下两层上。 (3)在建含有n个元素、深度为h的堆...
点击查看完整答案
手机看题
问答题
若有N个元素已构成一个小根堆,那么如果增加一个元素为K
n+1
,请用文字简要说明如何在log
2
n的时间内将其重新调整为一个堆。
答案:
正确答案:K
1
~K
n
是堆,在K
n+1
加入后,将K
点击查看完整答案
手机看题
问答题
冒泡排序方法是把大的元素向上移(气泡的上浮),也可以把小的元素向下移(气泡的下沉)。请给出上浮和下沉过程交替的冒泡排序算法。
答案:
正确答案:void BubbleSort2(int a[],int n){ //相邻两趟向相反方向起泡的冒泡排序算法 i...
点击查看完整答案
手机看题
问答题
有一种简单的排序算法,叫做计数排序(Count sorting)。这种排序算法对一个待排序的表(用数组表示)进行排序,并将排序结果存放到另一个新的表中。必须注意的是,表中所有待排序的关键字互不柜同,计数排序算法针对表中的每个记录,扫描待排序的表一趟,统计表中有多少个记录的关键字比该记录的关键字小。假设针对某一个记录,统计出的计数值为c,那么,这个记录在新的有序表中的合适的存放位置即为c。 设计实现计数排序的算法。对于有n个记录的表,关键字的比较次数是多少与简单选择排序相比较,这种方法是否更好为什么
答案:
正确答案:typedef struct{ int key: datatype info }flecType; void ...
点击查看完整答案
手机看题
问答题
某个待排序的序列是一个可变长度的字符串序列,这些字符串一个接一个地存储于唯一的字符数组中。请改写快速排序算法,对这个字符串序列进行排序。
答案:
正确答案:int Partition(RecType R[],int n,int h){ //一趟快速排序算法,枢轴记录...
点击查看完整答案
手机看题
问答题
设有一个数组中存放了一个无序的关键字序列K
1
,K
2
,…,K
n
。现要求将K
n
放在将元素排序后的正确位置上,试编写实现该功能的算法,要求比较关键字的次数不超过n。
答案:
正确答案:int Partition(RecType K[],int m,int n){ //交换记录子序列K[1..n...
点击查看完整答案
手机看题
微信扫码免费搜题