以下排序算法中,在一趟排序过程中,除了其它相关操作外,只进行一次元素间的交换的算法是()。
当两个元素出现逆序的时候就交换位置,这种排序方法称为()。
一组记录的关键字序列为(46,79,56,38,40,84)。利用快速排序的方法,给出以第一个记录为基准得到的一次划分结果(给出逐次交换元素的过程,要求以升序排列)。
在对n个元素进行快速排序的过程中,第一次划分最多需要移动()次元素,包括开始把支点元素移动到临时变量的一次在内。
在Excel“常用”工具栏中,()按钮可将选择的内容剪下来并存放到剪贴板中.
为保证一重大项目机械产品的可靠性,试验小组需要对其进行连续测试。测试人员每隔5小时观察一次,当观察第120次时,手表的时针正好指向10。问观察第几次时,手表的时针第一次与分针呈60度角?()
排序时扫描待排序记录序列,顺次比较相邻的两个元素的大小,逆序时就交换位置,这是()排序的基本思想。
下列排序算法中,算法( )在进行一趟相应的排序处理结束后不一定能选出一个元素放到其最终位置上。
设待排数据元素的关键字为(67,24,14,22,33,15,11,15),用选择法将其按升序排序,需要扫描的趟数为( )。
对序列14, 25, 11, 31, 27, 19进行快速排序,选取最后一个元素作为基准,则第一轮过后结果为:
设待排序关键码序列为(25,18,9,33,67,82,53,95,12,70),要按关键码值递增的顺序进行排序,采取以第一个关键码为分界元素的快速排序法,第一趟排序完成后关键码95被放到第几个位置?
在内部排序中,通常要对被排序数据进行多次扫描。各种排序方法有不同的排序实施过程和时间复杂性。对给定的整数数列(541,132,984,746,518,181,946,314,205, 827)进行从小到大的排序时,采用冒泡排序和简单选择排序时,若先选出大元素,则第一次扫描结果分别是(1),采用快速排序(以中间元素518为基准)的第一次扫描结果是(2)。
设待排序关键码序列为(25,18,9,33,67,82,53,95,12,70)。要按关键码值递增的顺序进行排序,采取以第一个关键码为分界元素的快速排序法,第一趟完成后关键码33被放到了第几个位置?
在内部排序中,通常要对被排序数据进行多次扫描。各种排序方法有不同的排序实施过程和时间复杂性。对给定的整数数列 (541,132,984,746,518,181,946,314,205,827)进行从小到大的排序时,采用冒泡排序和简单选择排序时,若先选出大 元素,则第一次扫描结果分别是__(1)__,采用快速排序(以中间元素518为基准)的第一次扫描结果是__(2)__。 设被排序的序列有n个元
16、下列排序算法中()不能保证每趟排序至少能将一个元素放到其最终的位置上。
对图的每一个顶点访问一次且只访问一次的过程称为图的遍历。( )
冒泡法排序总是从未排序的元素中选择最大值或者最小值,并和第一个未排序的元素交换。
对下列4个序列做快速排序,各以序列第一个元素为基准进行第一次划分,则在该次划分过程中需要移动元素次数最多的序列为()。
待排序数据元素以单链表方式存储,完成下列基于单链表的简单选择排序算法。 单链表结点结构体定义如下: typedef struct node{ int key; //简单起见,只定义排序关键字且为整数 struct node* link; //指针域 }Node; void SelectSort(Node *first) { Node * small, p, q; int temp; for (p=first; (1) ; (2) ){ small=p; for (q=p->link; q!=NULL; q=q->link) // 找最小值 if ((3) ) // small=q; //元素值交换 temp = p->data; (4) ; (5) ; } }
每次直接或通过基准元素间接比较两个元素,若出现逆序排列时就交换它们的位置,此种排序方法叫做(①)排序;每次使两个相邻的有序表合并成一个有序表的排序方法叫做(②)排序。
为了保证快速排序在最坏情况也有较髙的排序效率,可选待排序序列的第一个元素、最后一个元素和位置位于最中间的一个元奈,在三者之中选择一个其值居中的元素,将其交换到待排序序列的第一个元素位置,再做一趟划分,若设整数数组A有n个元素,设计一个函数,实现上述三者取中并交换到待排序序列第一个元素位置的功能。
为保证一重大项目机械产品的可靠性,对其进行连续测试,实验小组需要每隔5小时观察一次,当观察第120次时,手表的时针正好指向10,问观察第几次时,手表的时针第一次与分针呈60度角()
冒泡排序算法在最好的情况下的元素交换次数为 【5】 。
冒泡排序在排序过程中仅需要()个元素的辅助空间用于元素交换,孔家复杂度为O(1)