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