下列三种算法是经常应用的内排序算法:插入排序、选择排序和冒泡排序。阅读下列算法,回答问题。 INSERTION-SORT(A) 1. for i=2 to N 2. { key = A[i] ; 3. j =i-1; 4. While (j>0 and A[j]>key) do 5. { A[j+1]=A[j]; 6. j=j-1; } 7. A[j+1]=key; 8. } SELECTION-SORT(A) 1. for i=1 to N-1 2. { k=i; 3. for j=i+1 to N 4. { if A[j] <a[k] then k="j;" } 5. if> i then 6. { 7. temp =A[k]; 8. A[k]=A[i]; 9. A[i]=temp; 10. } 11. } BUBBLE-SORT(A) 1. for i=1 to N-1 2. { haschange=false; 3. for j=1 to N-i 4. { if A[j]>A[j+1] then 5. { temp =A[j]; 6. A[j]=A[j+1]; 7. A[j+1]=temp; 8. haschange=true; 9. } 10. } 11. if (haschange ==false) then break; 12. } 关于三种排序算法,下列说法正确的是_____。
A、尽管细致比较三种算法的执行时间是有差别的,这种差别对内排序问题而言是重要的,因为内排序算法可能要被频繁的执行
B、三种算法的时间复杂度都为,所以三种算法的执行效率是一样的
C、尽管三种算法的时间复杂度都为,但细致比较还是有差别的,例如冒泡法排序比选择法排序要快一些
D、尽管细致比较三种算法的执行时间是有差别的,但这种差别对内排序问题而言是可以忽略不计的
第1题
下列三种算法是经常应用的内排序算法:插入排序、选择排序和冒泡排序。阅读下列算法,回答问题。 INSERTION-SORT(A) 1. for i=2 to N 2. { key = A[i] ; 3. j =i-1; 4. While (j>0 and A[j]>key) do 5. { A[j+1]=A[j]; 6. j=j-1; } 7. A[j+1]=key; 8. } SELECTION-SORT(A) 1. for i=1 to N-1 2. { k=i; 3. for j=i+1 to N 4. { if A[j] <a[k] then k="j;" } 5. if> i then 6. { 7. temp =A[k]; 8. A[k]=A[i]; 9. A[i]=temp; 10. } 11. } BUBBLE-SORT(A) 1. for i=1 to N-1 2. { haschange=false; 3. for j=1 to N-i 4. { if A[j]>A[j+1] then 5. { temp =A[j]; 6. A[j]=A[j+1]; 7. A[j]=temp; 8. haschange=true; 9. } 10. } 11. if (haschange ==false) then break; 12. } 关于三种排序算法,下列说法正确的是_____。
A、三种算法的时间复杂度都为,所以三种算法的执行效率是一样的;
B、尽管三种算法的时间复杂度都为,但细致比较还是有差别的,例如冒泡法排序比选择法排序要快一些;
C、尽管细致比较三种算法的执行时间是有差别的,但这种差别对内排序问题而言是可以忽略不计的
D、尽管细致比较三种算法的执行时间是有差别的,这种差别对内排序问题而言是重要的,因为内排序算法可能要被频繁的执行
第2题
下列三种算法是经常应用的内排序算法:插入排序、选择排序和冒泡排序。阅读下列算法,回答问题。 INSERTION-SORT(A) 1. for i=2 to N 2. { key = A[i] ; 3. j =i-1; 4. While (j>0 and A[j]>key) do 5. { A[j+1]=A[j]; 6. j=j-1; } 7. A[j+1]=key; 8. } SELECTION-SORT(A) 1. for i=1 to N-1 2. { k=i; 3. for j=i+1 to N 4. { if A[j] <a[k] then k="j;" } 5. if> i then 6. { 7. temp =A[k]; 8. A[k]=A[i]; 9. A[i]=temp; 10. } 11. } BUBBLE-SORT(A) 1. for i=1 to N-1 2. { haschange=false; 3. for j=1 to N-i 4. { if A[j]>A[j+1] then 5. { temp =A[j]; 6. A[j]=A[j+1]; 7. A[j]=temp; 8. haschange=true; 9. } 10. } 11. if (haschange ==false) then break; 12. } 关于排序的选择法和冒泡法,下列说法不正确的是_____。
A、“选择法”和“冒泡法”都是每一轮次找出一个最小值元素,只是寻找最小值元素的方法不一样,在效率方面没有什么差别;
B、“选择法”通过将所有未排序元素与当前轮次待寻找的最小值元素进行比较,获得当前轮次的最小值元素;而“冒泡法”通过相邻元素的两两比较,一个轮次完成也能获得一个最小值元素;
C、虽然“选择法”和“冒泡法”都是每一轮次找出一个最小值元素,但选择法每轮次仅比较,没有交换,直至找到最小值后做一次交换;而冒泡法每一轮次是通过相邻元素比较来找最小值,如果不满足排序,则交换相邻两个元素,交换可能频繁发生。这样来看,选择法比冒泡法要快一些;
D、上述说法有不正确的。
第3题
下列三种算法是经常应用的内排序算法:插入排序、选择排序和冒泡排序。阅读下列算法,回答问题。 INSERTION-SORT(A) 1. for i=2 to N 2. { key = A[i] ; 3. j =i-1; 4. While (j>0 and A[j]>key) do 5. { A[j+1]=A[j]; 6. j=j-1; } 7. A[j+1]=key; 8. } SELECTION-SORT(A) 1. for i=1 to N-1 2. { k=i; 3. for j=i+1 to N 4. { if A[j] <a[k] then k="j;" } 5. if> i then 6. { 7. temp =A[k]; 8. A[k]=A[i]; 9. A[i]=temp; 10. } 11. } BUBBLE-SORT(A) 1. for i=1 to N-1 2. { haschange=false; 3. for j=1 to N-i 4. { if A[j]>A[j+1] then 5. { temp =A[j]; 6. A[j]=A[j+1]; 7. A[j]=temp; 8. haschange=true; 9. } 10. } 11. if (haschange ==false) then break; 12. } 关于BUBBLE-SORT算法的基本思想,下列说法正确的是_____。
A、一个轮次一个轮次的处理。在每一轮次中依次对待排序数组元素中相邻的两个元素进行比较:如不符合排序关系,则交换两个元素。直到某一轮次没有元素交换发生则结束
B、一个元素一个元素的处理。每次处理一个元素,通过与当前已排序元素的比较,将该元素放入到当前正确排序的位置。直到最后一个元素则算法结束
C、一个轮次一个轮次的处理。将元素集合分成两个部分,已排序元素集合和未排序元素集合,开始时已排序元素集合为空。在每一轮次,从未排序元素集合中找出最小值的元素,将其移入已排序元素集合;直到未排序元素集合为空时则算法结束
D、其它三个选项都不正确
第4题
下列三种算法是经常应用的内排序算法:插入排序、选择排序和冒泡排序。阅读下列算法,回答问题。 INSERTION-SORT(A) 1. for i=2 to N 2. { key = A[i] ; 3. j =i-1; 4. While (j>0 and A[j]>key) do 5. { A[j+1]=A[j]; 6. j=j-1; } 7. A[j+1]=key; 8. } SELECTION-SORT(A) 1. for i=1 to N-1 2. { k=i; 3. for j=i+1 to N 4. { if A[j] <a[k] then k="j;" } 5. if> i then 6. { 7. temp =A[k]; 8. A[k]=A[i]; 9. A[i]=temp; 10. } 11. } BUBBLE-SORT(A) 1. for i=1 to N-1 2. { haschange=false; 3. for j=1 to N-i 4. { if A[j]>A[j+1] then 5. { temp =A[j]; 6. A[j]=A[j+1]; 7. A[j]=temp; 8. haschange=true; 9. } 10. } 11. if (haschange ==false) then break; 12. } 阅读BUBBLE-SORT算法,其中关于haschange变量的作用,下列说法不正确的是_____。
A、其它选项的说法有不正确的
B、haschange用于标记每个轮次的相邻元素比较中,是否有“交换”发生
C、haschange用于判断至某个轮次时是否已完成排序,以便提前结束算法
D、haschange需要在每轮次之前置初始值为假,表示没有“交换”发生
E、涉及haschange的语句全部去掉,算法仍旧能够正确执行
第5题
A.插入 B.归并 C.堆 D.快速 A.O(n) B. O(nlgn) C.O(n^2) D. O(n^2lgn)
第7题
A、“内排序”算法通常是内存中数据排序常用的算法,而“外排序”算法通常是大规模数据排序常用的算法
B、“内排序”算法由于内存排序应用的频繁性,所以算法要考虑用尽可能少的步骤,而“外排序”算法由于要利用磁盘保存中间结果,所以算法主要考虑尽可能少的读写磁盘
C、无论是“内排序”算法,还是“外排序”算法,都需要考虑读写磁盘的代价问题
D、对一组需要排序的数据,能应用“内排序”算法时,尽量不用“外排序”算法
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!