1. 單選題
1. 假設把整數關鍵碼K散列到N個槽列表,以下哪些散列函數是好的散列函數
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. 下面排序算法中,初始數據集的排列順序對算法的性能無影響的是:
A: 堆排序 B:插入排序
C: 冒泡排序 D:快速排序
答案:A(插入排序:最優(yōu)時間復雜度O(n)最差時間復雜度O(n^2)平均時間復雜度O(n^2)
冒泡排序:最優(yōu)時間復雜度O(n)最差時間復雜度O(n^2)平均時間復雜度O(n^2)
快速排序:最優(yōu)時間復雜度O(nlogn)最差時間復雜度O(n^2)平均時間復雜度O(nlogn)
堆排序:最優(yōu)時間復雜度O(nlogn)最差時間復雜度O(nlogn)平均時間復雜度O(nlogn))
3. 下面說法錯誤的是:
A: CISC計算機比RISC計算機指令多
B: 在指令格式中,采用擴展操作碼設計方案的目的是為了保持指令字長不變而增加尋址空間
C:增加流水線段數理論上可以提高CPU頻率
D:馮諾依曼體系結構的主要特征是存儲程序的工作方式
答案:B
4. 不屬于馮諾依曼體系結構必要組成部分是:
A:CPU B: Cache C:RAM D:ROM
答案:B
5. 一個棧的入棧序列式ABCDE則不可能的出棧序列是:
A:DECBA B:DCEBA C:ECDBA D:ABCDE
答案:C
6.你認為可以完成編寫一個C語言編譯器的語言是:
A:匯編 B:C語言 C:VB D:以上全可以
答案:D
7. 關于C++/JAVA類中的static成員和對象成員的說法正確的是:
A:static成員變量在對象構造時候生成
B: static成員函數在對象成員函數中無法調用
C: 虛成員函數不可能是static成員函數
D: static成員函數不能訪問static成員變量
答案:A
9:某進程在運行過程中需要等待從磁盤上讀入數據,此時進程的狀態(tài)將:
A: 從就緒變?yōu)檫\行 B:從運行變?yōu)榫途w
C: 從運行變?yōu)樽枞?D:從阻塞變?yōu)榫途w
答案:C
10:下面算法的時間復雜度為:
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開始,每個操作可以選擇對n加1或者對n加倍。若想獲得整數2013,最少需要多少個操作。
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,由上過程可得18次
12:對于一個具有n個頂點的無向圖,若采用鄰接表數據結構表示,則存放表頭節(jié)點的數組大小為:
A: n B: n+1 C: n-1 D:n+邊數
答案:A
13:
答案:A.對于幾何中的每個字符串取hash可以看作是同分布的獨立重復事件,所以每一個事件出現10的概率都是p=1/1024,那么當出現的時候,期望的次數就是1/p,1024.
14:如下函數,在32bit系統(tǒng)foo(2^31-3)的值是:
Int foo(int x)
{
Return x&-x;
}
A: 0 B: 1 C:2 D:4
答案:B
15:對于順序存儲的線性數組,訪問節(jié)點和增加節(jié)點刪除節(jié)點的時間復雜度為:
A: O(n),O(n)B:O(n),O(1) C:O(1),O(n) D:O(n),O(n)
答案:C
16:在32為系統(tǒng)環(huán)境,編譯選項為4字節(jié)對齊,那么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:袋中有紅球,黃球,白球各一個,每次任意取一個放回,如此連續(xù)3次,則下列事件中概率是8/9的是:
A: 顏色不全相同 B:顏色全不相同C:顏色全相同D:顏色無紅色
答案:A
18:一個洗牌程序的功能是將n張牌的順序打亂,以下關于洗牌程序的功能定義說法最恰當的是:
A: 每張牌出現在n個位置上的概率相等
B: 每張牌出現在n個位置上的概率獨立
C: 任何連續(xù)位置上的兩張牌的內容獨立
D: n張牌的任何兩個不同排列出現的概率相等
答案:A
19:用兩種顏色去染排成一個圈的6個棋子,如果通過旋轉得到則只算一種,一共有多少種染色:
A: 10 B:11 C:14: D:15
答案:C
解釋:應該有14種方案,設只有黑白兩色,默認白色,那么,用p(n)表示有n個黑棋的種類
p(0)=p(6)=1
p(1)=p(5)=1
p(2)=p(4)=3 //相鄰的一種,隔一個的一種,兩個的一種
p(3)=4 //都相鄰的一種,BB0B的一種,BB00B的一種,B0B0B的一種,一共4種
綜上是14種
20:遞歸式的先序遍歷一個n節(jié)點,深度為d的二叉樹,則需要棧空間的大小為:
A: O(n) B:O(d) C:O(logn) D:(nlogn)
答案:B