n个顶点e条边的图采用邻接矩阵存储,广度优先遍历算法的时间复杂度为();若采用邻接表存储,该算法的时间复杂度为()。
n个顶点e条边的图采用邻接矩阵存储,深度优先遍历算法的时间复杂度为();若采用邻接表存储时,该算法的时间复杂度为()。
在对n个元素进行快速排序的过程中,平均情况下的时间复杂度为()
在对n个元素进行直接插入排序的过程中,算法的空间复杂度为()
对具有n个结点的堆进行插入一个元素运算的时间复杂度为O(n)。
在长度为n的顺序表中,求第i个元素的直接前驱算法的时间复杂度为0。
对n个元素值分别为-1、0或1的整型数组A进行升序排序的算法描述如下:统计A中-1、0和1的个数,设分别为n1、n2和n3,然后将A中的前n1个元素赋值为-1,第n1+1到n1+n2个元素赋值为0,最后n3个元素赋值为1。该算法的时间复杂度和空间复杂度分别为()。
在一个具有n个结点的有序单链表中插入一个新结点并仍然有序的算法的时间复杂度为 。
5. 若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为()。
在n个元素的线性表的数组表示中,以下时间复杂度为O()
●若采用邻接矩阵结构存储具有n个顶点的图,则对该图进行广度优先遍历的算法时间复杂度为 (47) 。(47)
在n个元素的线性表的数组表示中,时间复杂度为0()
在一个元素个数为N的数组里,找到升序排在N/5位置的元素的最优算法时间复杂度是()A.O(n)B.O(nlogn
快速排序算法在排序过程中,在待排序数组中确定一个元素为基准元素,根据基准元素把待排序数组划分成两个部分,前面一部分元素值小于基准元素,而后面一部分元素值大于基准元素。然后再分别对前后两个部分进一步进行划分。根据上述描述,快速排序算法采用了(此空作答 )算法设计策略。已知确定着基准元素操作的时间复杂度为 O(n) ,则快速排序算法的最好和最坏情况下的时间复杂度为()
【填空题】不受待排序初始序列的影响,时间复杂度为O(N2)的排序算法是 ,在排序算法的最后一趟开始之前,所有元素都可能不在其最终位置上的排序算法是 。
在具有n个数据元素的顺序表中,实现删除操作,其算法的时间复杂度是()
【填空题】在一个长度为n的顺序表中第i个位置(1≤i≤n+1)插入一个元素时,需向后移动 个元素。
【填空题】在一个长度为n的顺序表中第i个元素(1≤i≤n+1)之前插入一个元素时,需向后移动()个元素。
在n(n>1)个运算的顺序表中,算法时间复杂度为O(1)的运算是()。
试编写一个算法,将元素序列(x1,x2,…,xn)循环右移p个位置,0≤p≤n。要求该算法的时间复杂度为O(n)而空间复杂度为O(1)。
在 n 个数的数组中确定其第 i(1 ≤ i ≤ n) 小的数时,可以采用快速排序算法中的划分思想 , 对 n 个元素划分,先确定第 k 小的数,根据 i 和 k 的大小关系 , 进一步处理,最终得到第 i 小的数。划分过程中,最佳的基准元素选择的方法是选择待划分数组的(此空作答 )元素。此时,算法在最坏情况下的时间复杂度为(不考虑所有元素均相等的情况)()
快速排序算法在排序过程中,在待排序数组中确定一个元素为基准元素,根据基准元素把待排序数组划分成两个部分,前面一部分元素值小于等于基准元素,而后面一部分元素值大于基准元素。然后再分别对前后两个部分进一步进行划分。根据上述描述,快速排序算法采用了()算法设计策略。已知确定基准元素操作的时间复杂度为Θ(n),则快速排序算法的最好和最坏情况下的时间复杂度为()
快速排序算法是,在排序过程中,在待排序数组中确定一个元素为基准元素,根据基准元素把待排序数组划分成两个部分,前面一部分元素值小于基准元素,而后面一部分元素值大于基准元素。然后再分别对前后两个部分进一步进行划分。根据上述描述,快速排序算法采用了 (请作答此空) 算法设计策略。已知确定着基准元素操作的时间复杂度为O(n),则快速排序算法的最好和最坏情况下的时间复杂度为 () 。
考查最大元素问题:从n个整数中找出最大者。a)试分别采用迭代和递归两种模式设计算法,在线性时间内解决该问题;b)用C++语言实现你的算法,并分析它们的复杂度。