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