牛客網專項練習(七)

2021-10-03 20:18:58 字數 3019 閱讀 4886

1、以下哪個資料結構不是多型資料型別()

正確答案: d   

廣義表
有向圖
字串
分析:

多型就是資料元素的型別不確定,字串的每個元素始終都是字元(char),而不會是別的型別。

比如棧可以是整數棧、字元棧、物件棧等等。

但是字串,它的元素必然是字元。

2、以下資料結構中,()是非線性資料結構

正確答案: a   你的答案: a (正確)

字串
分析

資料的邏輯結構分為線性結構和非線性結構。

常用的線性結構有:線性表,棧,佇列,雙佇列,陣列,串。

常見的非線性結構有:二維陣列,***陣列,廣義表,樹(二叉樹等)

3、設有兩個串p和q,其中q是p的子串,求q在p中首次出現的位置的演算法稱為

正確答案: c   

求子串
聯接
匹配
求串長
分析:

尋找子串首次出現的位置叫做字串匹配演算法

4、兩個長度不相同的串有可能相等()

正確答案: b   你的答案: b (正確)

分析:

其實判斷兩個字串的邏輯就是:

先判斷長度是否相等,不相等則結果直接為不相等;

長度相等才繼續判斷是否對應位置上的每個字串是否相等,如果所有對應位置字元都相等,結果為相等,否則為不相等。

5、判斷下列說法是否正確:設有兩個串s1和s2,求s2在si中首次出現位置的運算稱為求子串。( )
正確答案: b

正確

錯誤

分析:

b 應屬於模式匹配

6、判斷下述語句的對錯:mfc中cstring是型別安全的類。
正確答案: a   你的答案: a (正確)

分析:

型別安全不是一種型別,是有關型別操作一種規範。

如:不讓不同型別的資料相互轉換

intnum

=3;string str="3";

num=str; //錯

num=int.parse(str);//對

型別安全要求可以相互轉換的不同型別資料在轉換時 顯式轉換

7、用二進位制來編碼字串「abcdabaa」,需要能夠根據編碼,解碼回原來的字串,最少需要()長的二進位制字串?

正確答案: b

分析:

這道題需要對abcd進行huffman編碼。首先根據權值建立huffman樹,得到最優編碼:

a=0, b=10, c=110, d=111

然後數一下就行了。

8、設語句定義char a[ 80 ]= " 0123\0789 "; ,則sizeof(a)和strlen(a)的值分別為()

正確答案: a   

80和9

80和7

80和5

80和6

分析:

首先,strlen是掃瞄字串,直到遇到第乙個字串結束符'\0'為止,所以如果char a[80]='0123\0a222',則結果為4

但是\ddd為轉義字元,代表乙個1到3位八進位製所代表的任意字元,所以對本題,\07為一體,所以答案為9

如果為'0123\077222'則答案為8,因為\077為一體

9、串是一種特殊的線性表,其特殊性體現在()

正確答案: b  

可以順序儲存
陣列元素是乙個字元
可以連續儲存
資料元素可以是多個字元
分析:

串又稱為字串,是一種特殊的線性表,其特殊性體現在資料元素是乙個字元,也就是說串是一種內容受限的線性表。(棧和佇列是操作受限的線性表)

10、字串www.qq.com所有非空子串(兩個子串如果內容相同則只算乙個)個數是()

正確答案: d

分析:

總的子串個數為 10+9+8+7+。。+1 = 55

其中w(兩次), ww, q, ., 有重複

55 - 5 = 50

牛客網陣列專項練習(一)

1 要表示10個學生的成績,下列宣告並初始化陣列正確的是 正確答案 d int score new int int score 10 int score new int 9 int score new int 10 陣列初始化有三種方式 動態初始化 陣列定義與為陣列分配空間和賦值的操作分開進行 靜態...

牛客網專項訓練總結 2

q 陣列就是矩陣,矩陣就是陣列,這種說法 x a 陣列 中的元素可以是字元等,矩陣中的只能是數。q 陣列a 1.5,1.6 的每個元素佔5個單元,將其按行優先順序儲存在起始位址為1000的連續的記憶體單元中,則元素a 5,5 的位址為 1140 q 什麼是 順序表?a 順序表 是在計算機記憶體中以陣...

牛客專項練習1 python

1.有如下類定義,下列描述錯誤的是?d class a object pass class b a pass b b a.isinstance b,a trueb.isinstance b,object truec.issubclass b,a trued.issubclass b,b true解答...