算法分析與設計2022年秋學期在線作業(yè)1題目
試卷總分:100 得分:100
一、單選題 (共 20 道試題,共 40 分)
1.下列算法描述所用的方法是() Begin(算法開始) 輸入 A,B,C IF A>B 則 A→Max 否則 B→Max IF C>Max 則 C→Max Print Max End (算法結束)
A.流程圖
B.N-S流程圖
C.偽代碼表示
D.程序設計語言
2.某二叉樹中有n個度為2的結點,則該二叉樹中的葉子結點數(shù)為()。
A.n+1
B.n-1
C.2n
D.n/2
3.下列敘述中正確的是()
A.線性鏈表是線性表的鏈式存儲結構
B.棧與隊列是非線性結構
C.雙向鏈表是非線性結構
D.只有根結點的二叉樹是線性結構
4.設有如下函數(shù)定義 int fun(int k) { if (k<1) return 0; else if(k==1) return 1; else return fun(k-1)+1; } 若執(zhí)行調用語句:n=fun(3);,則函數(shù)fun 總共被調用的次數(shù)是()。
A.2
B.3
C.4
D.5
5.strchr()函數(shù)用來()。
A.字符串連接
B.比較字符
C.求字符位置
D.求子串位置
6.下面4句話中,最準確的表述是()。
A.程序=算法+數(shù)據(jù)結構
B.程序是使用編程語言實現(xiàn)算法
C.程序的開發(fā)方法決定算法設計
D.算法是程序設計中最關鍵的因素
7.一個遞歸算法必須包括()。
A.遞歸部分
B.終止條件和遞歸部分
C.循環(huán)部分
D.終止條件和循環(huán)部分
8.插入排序在最好情況下的時間復雜度為()
A.O(logn)
B.O(n)
C.O(n*logn)
D.O(n2)
9.已知一棵完全二叉樹的第6層(設根為第1層)有8個葉結點,則該完全二叉樹的結點個數(shù)最多是(C)。
A.39
B.52
C.111
D.119
10.strstr()函數(shù)用來()。
A.字符串連接
B.比較字符
C.求字符位置
D.求子串位置
11.在程序代碼編輯框外(一般都是程序代碼的最左側)雙擊,就成功設置了一個斷點,設置成功后會在該行的最前面顯示一個圓點,這樣的過程稱作()。
A.設置斷點
B.單步調試
C.程序編譯
D.程序調試
12.有以下程序 #include <stdio.h> int f(int t[ ], int n ); main() { int a[4]={1, 2, 3, 4}, s; s=f(a, 4); printf("%d\n", s); } int f(int t[ ], int n ) { if(n>0) return t[n-1]+f(t, n-1); else return 0; } 程序運行后的輸出結果是()。
A.4
B.10
C.14
D.6
13.八進制中最大的數(shù)碼是()。
A.6
B.7
C.8
D.9
14.將f=1+1/2+1/3+…+1/n轉化成遞歸函數(shù),其遞歸體是()。
A.f(1)=0
B.f(1)=1
C.f(0)=1
D.f(n)=f(n-1)+1/n
15.分治法是把一個復雜的問題分成相似的子問題,再把子問題分成更小的子問題……直到最后子問題可以簡單的直接求解,原問題的解即子問題解的()
A.合并
B.最大值
C.最小值
D.平均值
16.自動化的工具同樣也能夠幫助你跟蹤程序,尤其當程序很復雜時效果更加明顯,這種工具叫做()。
A.調試器
B.編輯器
C.編譯器
D.調解器
17.strcpy()函數(shù)用來()。
A.求字符串長度
B.比較字符
C.求子串
D.字符串拷貝
18.cd 目錄名的功能是()。
A.退回到根目錄
B.退回到上一級目錄
C.進入特定的目錄
D.顯示出文本文件的內容
19.對于長度為n的線性表進行順序查找,在最壞情況下所需要的比較次數(shù)為()。
A.log2n
B.n/2
C.n
D.n+1
20.()嵌在源程序體中,用于描述其后的語句或程序段做什么工作,也就是解釋下面要做什么,或是執(zhí)行了下面的語句會怎么樣。而不要解釋下面怎么做,因為程序本身就是怎么做。
A.文件注釋
B.函數(shù)注釋
C.功能注釋
D.程序注釋
二、多選題 (共 4 道試題,共 16 分)
21.順序結構、選擇結構、循環(huán)結構三種結構共同特點是()
A.只有一個入口
B.只有一個出口
C.結構內的每一部分都有機會被執(zhí)行到(不存在死語句)
D.結構內不存在死循環(huán)(永遠執(zhí)行不完的循環(huán))。
22.字符串有關的格式字符有( )。
A."%c"
B."%d"
C."%f"
D."%s"
23.遞歸算法的執(zhí)行過程分()和()兩個階段。
A.遞歸
B.遞推
C.回歸
D.回溯
24.設計遞歸算法有兩點最為關鍵()和()。
A.確定遞推公式
B.確定邊界(終了)條件(遞歸出口)
C.每次遞歸調用,都必須向基本條件前進
D.如果結果已知,那么,不用再重復調用遞歸
三、判斷題 (共 22 道試題,共 44 分)
25.簡單選擇排序算法在最好情況下的時間復雜度為O(N)。
26.順序查找是從線性表的一端開始,依次將每個元素的關鍵字同給定值K進行比較,若某元素關鍵字與K相等,則查找成功;若所有元素都比較完畢,仍找不到關鍵字為K的元素,則查找失敗。
27.冒泡排序的時間復雜度為O(n*n)。
28.內排序要求數(shù)據(jù)一定要以順序方式存儲。
29.排序速度,進行外排序時,必須選用最快的內排序算法。
30.gets()函數(shù)一次可以輸入多個字符串。
31.采用順序查找方式查找長度為n的線性表時,平均查找長度為(n-1)/2。
32.窮舉法,也稱輾轉法,是一種針對于密碼的破譯方法,即將密碼進行逐個推算直到找出真正的密碼為止。
33.程序調試的作用是將程序測試過程中發(fā)現(xiàn)的錯誤改正過來,程序調試后需要再次進行測試。
34.具有10個頂點的無向圖,邊的總數(shù)最多為44。
35.遞推實現(xiàn)的關鍵是找出遞推公式。
36.冒泡排序法每次比較的是相鄰的兩個數(shù):a[i]和a[i+1],如果前一個數(shù)比后一個數(shù)大,則馬上交換。
37.字符型和整型一般情況下可以通用。
38.在深度為7的滿二叉樹中,度為2的結點個數(shù)為64。
39.用二分(對半)查找表的元素的速度比用順序法快。
40.某二叉樹中度為2的結點有18個,則該二叉樹中有20個葉子結點。
41.線性表的存儲結構主要分為順序存儲結構和鏈式存儲結構。隊列是一種特殊的線性表,循環(huán)隊列是隊列的順序存儲結構。
42.C語言中,數(shù)組名代表該數(shù)組的起始地址。
43.線性表需要為表示結點間的邏輯關系而增加額外的存儲空間。
44.在待排數(shù)據(jù)基本有序的情況下,快速排序效果最好。
45.在后序遍歷二叉樹的序列中,任何結點的子樹上的所有結點,都是直接跟在該結點之后。
46.scanf()、printf()可以輸入輸出幾個字符串。
奧鵬,國開,廣開,電大在線,各省平臺,新疆一體化等平臺學習
詳情請咨詢QQ : 3230981406或微信:aopopenfd777