2017感動(dòng)中國觀(guān)后感精選
1. 單選題

1. 假設把整數關(guān)鍵碼K散列到N個(gè)槽列表,以下哪些散列函數是好的散列函數
A: h(K)=K/N;
B: h(K)=1;
C: h(K)=K mod N;
D: h(K)=(K+rand(N)) mod N, rand(N)返回0到N-1的整數
答案:D
2. 下面排序算法中,初始數據集的排列順序對算法的性能無(wú)影響的是:
A: 堆排序 B:插入排序
C: 冒泡排序 D:快速排序
答案:A(插入排序:最優(yōu)時(shí)間復雜度O(n)最差時(shí)間復雜度O(n^2)平均時(shí)間復雜度O(n^2)
冒泡排序:最優(yōu)時(shí)間復雜度O(n)最差時(shí)間復雜度O(n^2)平均時(shí)間復雜度O(n^2)
快速排序:最優(yōu)時(shí)間復雜度O(nlogn)最差時(shí)間復雜度O(n^2)平均時(shí)間復雜度O(nlogn)
堆排序:最優(yōu)時(shí)間復雜度O(nlogn)最差時(shí)間復雜度O(nlogn)平均時(shí)間復雜度O(nlogn))
3. 下面說(shuō)法錯誤的是:
A: CISC計算機比RISC計算機指令多
B: 在指令格式中,采用擴展操作碼設計方案的目的是為了保持指令字長(cháng)不變而增加尋址空間
C:增加流水線(xiàn)段數理論上可以提高CPU頻率
D:馮諾依曼體系結構的主要特征是存儲程序的工作方式
答案:B
4. 不屬于馮諾依曼體系結構必要組成部分是:
A:CPU B: Cache C:RAM D:ROM
答案:B
5. 一個(gè)棧的入棧序列式ABCDE則不可能的出棧序列是:
A:DECBA B:DCEBA C:ECDBA D:ABCDE
答案:C
6.你認為可以完成編寫(xiě)一個(gè)C語(yǔ)言編譯器的語(yǔ)言是:
A:匯編 B:C語(yǔ)言 C:VB D:以上全可以
答案:D
7. 關(guān)于C++/JAVA類(lèi)中的static成員和對象成員的說(shuō)法正確的是:
A:static成員變量在對象構造時(shí)候生成
B: static成員函數在對象成員函數中無(wú)法調用
C: 虛成員函數不可能是static成員函數
D: static成員函數不能訪(fǎng)問(wèn)static成員變量
答案:A
8:
答案:C
9:某進(jìn)程在運行過(guò)程中需要等待從磁盤(pán)上讀入數據,此時(shí)進(jìn)程的狀態(tài)將:
A: 從就緒變?yōu)檫\行 B:從運行變?yōu)榫途w
C: 從運行變?yōu)樽枞?D:從阻塞變?yōu)榫途w
答案:C
10:下面算法的時(shí)間復雜度為:
Int f(unsigned int n)
{
If(n==0||n==1)
Return 1;
Else
Return n*f(n-1);
}
A: O(1) B:O(n) C:O(N*N) D:O(n!)
答案:B
11: n從1開(kāi)始,每個(gè)操作可以選擇對n加1或者對n加倍。若想獲得整數2013,最少需要多少個(gè)操作。
A:18 B:24 C:21 D;不可能
答案:A, 對2013用除法,顯示2013->2012->1006->503->502->251->250->125->124->62->31->30->15->14->7->6->3->2->1
正向只能是+1和×2,所以逆向只能-1和/2,由上過(guò)程可得18次
12:對于一個(gè)具有n個(gè)頂點(diǎn)的無(wú)向圖,若采用鄰接表數據結構表示,則存放表頭節點(diǎn)的數組大小為:
A: n B: n+1 C: n-1 D:n+邊數
答案:A
13:
答案:A.對于幾何中的每個(gè)字符串取hash可以看作是同分布的獨立重復事件,所以每一個(gè)事件出現10的概率都是p=1/1024,那么當出現的時(shí)候,期望的次數就是1/p,1024.
14:如下函數,在32bit系統foo(2^31-3)的值是:
Int foo(int x)
{
Return x&-x;
}
A: 0 B: 1 C:2 D:4
答案:B
15:對于順序存儲的線(xiàn)性數組,訪(fǎng)問(wèn)節點(diǎn)和增加節點(diǎn)刪除節點(diǎn)的時(shí)間復雜度為:
A: O(n),O(n)B:O(n),O(1) C:O(1),O(n) D:O(n),O(n)
答案:C
16:在32為系統環(huán)境,編譯選項為4字節對齊,那么sizeof(A)和sizeof(B)是:
Struct A
{
Int a;
short b;
int c;
char d;
};
Struct B
{
int a;
short b;
char c;
int c;
};
A: 16,16 B:13,12 C:16,12D:11,16
答案:C
17:袋中有紅球,黃球,白球各一個(gè),每次任意取一個(gè)放回,如此連續3次,則下列事件中概率是8/9的是:
A: 顏色不全相同 B:顏色全不相同C:顏色全相同D:顏色無(wú)紅色
答案:A
18:一個(gè)洗牌程序的功能是將n張牌的順序打亂,以下關(guān)于洗牌程序的功能定義說(shuō)法最恰當的是:
A: 每張牌出現在n個(gè)位置上的概率相等
B: 每張牌出現在n個(gè)位置上的概率獨立
C: 任何連續位置上的兩張牌的內容獨立
D: n張牌的任何兩個(gè)不同排列出現的概率相等
答案:A
19:用兩種顏色去染排成一個(gè)圈的6個(gè)棋子,如果通過(guò)旋轉得到則只算一種,一共有多少種染色:
A: 10 B:11 C:14: D:15
答案:C
解釋?zhuān)簯撚?4種方案,設只有黑白兩色,默認白色,那么,用p(n)表示有n個(gè)黑棋的種類(lèi)
p(0)=p(6)=1
p(1)=p(5)=1
p(2)=p(4)=3 /pic/p>
p(3)=4 /pic/p>
綜上是14種
20:遞歸式的先序遍歷一個(gè)n節點(diǎn),深度為d的二叉樹(shù),則需要?臻g的大小為:
A: O(n) B:O(d) C:O(logn) D:(nlogn)
答案:B
第二部分:多選
21:兩個(gè)線(xiàn)程運行在雙核機器上,每個(gè)線(xiàn)程主線(xiàn)程如下,線(xiàn)程1:x=1;r1=y;線(xiàn)程2:y=1;r2=x;
X和y是全局變量,初始為0。以下哪一個(gè)是r1和r2的可能值:
A: r1=1,r2=1
B: r1=1,r2=0
C:r1=0,r2=0
D:r1=0,r2=1
答案:ABD
22.關(guān)于Linux系統的負載,以下表述正確的是:
A: 通過(guò)就緒和運行的進(jìn)程數來(lái)反映
B: 通過(guò)TOP命令查看
C: 通過(guò)uptime查看
D: Load:2.5,1.3,1.1表示系統的負載壓力在逐漸變小
答案:BC(對于A(yíng)不確定)
23:關(guān)于排序算法的以下說(shuō)法,錯誤的是:
A: 快速排序的平均時(shí)間復雜度O(nlogn),最壞O(N^2)
B:堆排序平均時(shí)間復雜度O(nlogn),最壞O(nlogn)
C:冒泡排序平均時(shí)間復雜度O(n^2),最壞O(n^2)
D:歸并排序的平均時(shí)間復雜度O(nlogn),最壞O(n^2)
答案:D
解釋?zhuān)簹w并排序的平均時(shí)間復雜度O(nlogn),最壞O(nlogn)
24:假設函數rand_k會(huì )隨機返回一個(gè)【1,k】之間的隨機數(k>=2),并且每個(gè)證書(shū)出現的概率相等。目前有rand_7,通過(guò)調用rand_7()和四則運算符,并適當增加邏輯判斷和循環(huán)控制邏輯,下列函數可以實(shí)現的有:
A:rand_3 B:rand_21 C:rand_23 D:rand_49
答案:ABCD
解釋?zhuān)簩τ趓and_x(x<7)的直接截斷,只要rand數大于x直接忽略,保證rand_x能夠做到概率相等。而對于其他的則采用7×rand_7+rand_7,可以-7得到rand_49,然后截斷成rand_42,統一除以2,則是rand_21,其他類(lèi)似。
第三部分
25、某二叉樹(shù)的前序遍歷序列為-+a*b-cd/ef,后序遍歷序列為abcd-*+ef/-,問(wèn)其中序遍歷序列是——。
答案:a+b*c-d-e/f
26、某緩存系統采用LRU淘汰算法,假定緩存容量為4,并且初始為空,那么在順序訪(fǎng)問(wèn)以下數據項的時(shí)候1,5,1,3,2,4,1,2出現緩存命中的次數是——。最后緩存中即將準備淘汰的數據項是——。
答案:3,3
解釋?zhuān)?LRU是Least Recently Used 近期最少使用算法。)1-》1,5-》5,1-》5,1,3-》5,1,3,2-》1,3,2,4-》3,2,4,1-》3,4,1,2-》
首先1調入內存,然后5調入內存,然后1調入內存(命中緩存),然后3調入內存,然后2調入內存,然后4調入內存(將最少使用的5置換出內存),然后1調入內存(命中緩存),然后2調入內存(命中緩存)。最后,最少使用的3將面臨被置換出的危險。
27、兩個(gè)較長(cháng)的單向鏈表a和b,為了找出及誒單noed滿(mǎn)足node in a并且node in b。請設計空間使用盡量小的算法(用c/c++,java 或者偽代碼)
[html]view plaincopyprint?
1 struct node
2 {
3 int v;
4 node *next;
5 };
6 /*
7 返回鏈表的長(cháng)度
8 鏈表為空 返回0
9 */
10 size_t listLen(node * p)
11 {
12 size_t num = 0;
13 while (p!=NULL)
14 {
15 num++;
16 p = p->next;
17 }
18 return num;
19 }
20 /pic/p>
21 /pic/p>
22 node * findFirstCommenNode(node * pheada, node * pheadb)
23 {
24 size_t lenA = listLen(pheada);
25 size_t lenB = listLen(pheadb);
26
27 node * plistA = pheada;
28 node * plistB = pheadb;
29 /pic/p>
30 /pic/p>
31 if (lenA < lenB)
32 {
33 plistB = pheada;
34 plistA = pheadb;
35 size_t t = lenA;
36 lenA = lenB;
37 lenB = t;
38 }
39 while(lenA > lenB)
40 {
41 plistA = plistA->next;
42 --lenA;
43 }
44 /pic/p>
45 /pic/p>
46 while (plistA!=NULL && plistA != plistB)
47 {
48 plistA = plistA->next;
49 plistB = plistB->next;
50 }
51 return plistA;
52 }
struct node
{
int v;
node *next;
};
/*
返回鏈表的長(cháng)度
鏈表為空 返回0
*/
size_t listLen(node * p)
{
size_t num = 0;
while (p!=NULL)
{
num++;
p = p->next;
}
return num;
}
/pic/p>
/pic/p>
node * findFirstCommenNode(node * pheada, node * pheadb)
{
size_t lenA = listLen(pheada);
size_t lenB = listLen(pheadb);
node * plistA = pheada;
node * plistB = pheadb;
/pic/p>
/pic/p>
if (lenA < lenB)
{
plistB = pheada;
plistA = pheadb;
size_t t = lenA;
lenA = lenB;
lenB = t;
}
while(lenA > lenB)
{
plistA = plistA->next;
--lenA;
}
/pic/p>
/pic/p>
while (plistA!=NULL && plistA != plistB)
{
plistA = plistA->next;
plistB = plistB->next;
}
return plistA;
}
算法的空間復雜度O(1),時(shí)間復雜度O(m+n)。
28、當存儲數據量超出單節點(diǎn)數據管理能力的時(shí)候,可以采用的辦法有數據庫sharding的解決方案,也就是按照一定的規律把數據分散存儲在多個(gè)數據管理節點(diǎn)N中(節點(diǎn)編號為0,1,2,,,,N-1)。假設存儲的數據時(shí)a 請完成為數據a計算存儲節點(diǎn)的程序。
[html]view plaincopyprint?
53 #define N 5
54 int hash(int element){
55 return element*2654435761;
56 }
57 int shardingIndex(int a){
58 int p = hash(a);
59 _________________________; /pic/p>
60 return p;
61 }
#define N 5
int hash(int element){
return element*2654435761;
}
int shardingIndex(int a){
int p = hash(a);
_________________________; /pic/p>
return p;
}
答案:p%=N
29、宿舍內5個(gè)同學(xué)一起玩對戰游戲。每場(chǎng)比賽有一些人作為紅方,另一些人作為藍方。請問(wèn)至少需要多少場(chǎng)比賽,才能使任意兩個(gè)人之間有一場(chǎng)紅方對藍方和藍方對紅方的比賽?
答案:4場(chǎng),分別是AB-CDE、ACD-BE、BCE-AD、DE-ABC
【感動(dòng)中國觀(guān)后感】相關(guān)文章:
觀(guān)看感動(dòng)中國觀(guān)后感10-08
中國人,被自己感動(dòng)!作文02-22
感動(dòng)中國作文(通用21篇)07-08
感動(dòng)中國作文(通用22篇)12-25