1、下列**的輸出為:
#include "iostream"
#include "vector"
using namespace std;
int main(void) }
for(itor=array.begin();itor!=array.end();itor++)
return 0;
} a、100 300 300 500 b、100 300 500 c、100 500 d、程式錯誤
2、下列**的輸出為:
class cparent
virtual void hobby()
}; class cchild:public cparent
virtual void hobby()
}; int main(void)
a、i'm a child,i like football! b、i'm a child,i like basketball!
c、i'm a parent,i like football! d、i'm a parent,i like basketball!
3、在win32平台下,以下哪種方式無法實現程序同步?
a、critical section b、event c、mutex d、semaphore
4、按照公升序排列的一組資料123456798,下面哪種排序法在空間和時間上最優?
a、快速排序 b、氣泡排序 c、插入排序 d、堆排序
5、以下哪句的說法是正確的
a、在頁式儲存管理中,使用者應將自己的程式劃分為若干個相等的頁
b、所有的程序都掛起時,系統將陷入死鎖
c、執行系統呼叫可以被中斷
d、程序優先數是程序排程的重要依據,必須根據程序運**況動態改變
6、以下描述正確的是
a、虛函式是可以內聯的,可以減少函式呼叫的開銷提高效率
b、類裡面可以同時存在函式名和引數都一樣的虛函式和靜態函式
c、父類的析構函式是非虛的,但是子類的析構函式是虛的,delete子類物件指標會呼叫父類的析構函式
d、以上都不對
7、5+55+555+...+555..5(55個5)所得之和的末四位數是多少
a、9435 b、9445 c、9475 d、9485
8、5+55+555+...+555..5(12個5)所得之和的末三位數是多少
9、7+77+777+...+777..7(2005個7)所得之和的末四位數是多少
簡答題:快速排序的思想是遞迴的,但是它的平均效率卻是眾多排序演算法中最快的,為什麼?請結合本例說明你對遞迴程式的理解。
演算法題:用你熟悉的程式語言,設計如下功能的函式:輸入乙個字串,輸出該字串中所有字母的全排列。程式請適當新增注釋。
c++函式原型:
void print(const
char *str)
輸入樣例:
abc輸出結果:
abc、acb、bca、bac、cab、cba
b。erase刪除迭代器後,會返回指向下乙個元素的迭代器(本質是刪除後,後面的元素左移了),但注意for迴圈中又更新了迭代器itor++,所以第二個300被跳掉了,結果是b而不是c。
b。多型,呼叫的是子類的虛函式。
a。a不能跨程序使用,c一次允許乙個程序訪問共享記憶體,d一次允許多個程序訪問共享記憶體。
c。已經基本有序,快排很容易遇到主元選擇不當的問題,堆排序也沒有必要了(堆排序的優點在於對輸入次序不敏感,因此不能有效利用數列的基本有序性質)。b和c之間選擇其實還要三思,插入排序和氣泡排序都是原地排序,所以空間複雜度一樣。時間複雜度兩者都是兩層迴圈,插入排序在遍歷第二個元素至最後乙個元素時,比較次數為n-1+1,+1是因為訪問8的時候,前面的9和7都要比較;氣泡排序從遍歷第乙個元素至第endindex的元素,endindex是變化的,第一次外迴圈的時候endindex為倒數第二個元素,第二次外迴圈的時候endindex為倒數第三個元素。第一次外迴圈時,比較次數為n-1次,第二次外迴圈時,比較次數是n-2次,第二次無元素變化,所以可以結束排序,總的比較次數是2n-3。這樣看來,還是插入排序為優。
c。只要開啟使能位,是可以中斷系統呼叫的。
c。虛函式不能是內聯函式(編譯時展開,必須有實體),不能是靜態函式(屬於自身類,不屬於物件,而虛函式要求有實體),不能是建構函式(尚未建立虛函式表)。虛函式只在繼承的概念下有意義。
c。54*5+(55*5)的進製=297,所以倒數第二位是7,進製為29。
610。演算法同7。
0415。演算法同7。
簡答題:
原因:(1)內迴圈是與固定值進行比較的,不會對資料進行連續的搬移。
(2)比較次數少,而且對於隨機數組而言,很少出現主元選擇不當而降低效率的問題。
遞迴程式的理解:
理想情況下複雜度為t(n)=o(n)+t(n/2)=o(nlogn),遞迴就是將原先複雜度為n的演算法,逐步減少運算元量(由t(n)降至t(n/2)),運用分治思想將複雜問題一次一次折半地簡化,達到最終以對數複雜度解決問題的目的。
注意快排只是平均和最好情況下的複雜度為o(nlogn),它最壞的複雜度是o(n^2),當然,只要輸入陣列是隨機的,出現o(n^2)複雜度的概率好比「你家的電腦被閃電擊中了」。
演算法題:
全排列
1 #include 2using
namespace
std;34
static
int count = 0;5
6void permut(char* a, int start, int
end)713
else
1421}22
}232425
void print(const
char*str)
2634
35int
main()
36
2017盛大遊戲2017前端工程師校招筆試題總結
1.js的陣列方法中,哪些方法不改變陣列自身?改變陣列自身 pop push shift unshift reverse splice sort 不改變陣列,返回相應值 join slice concat map filter some every reduce reduceright 不改變陣列自...
盛大遊戲2011 10 22校園招聘會筆試題
1 下列 的輸出為 view plain copy to clipboard print include iostream include vector using namespace std int main void for itor array.begin itor array.end ito...
盛大遊戲2011 10 22校園招聘會筆試題
1 下列 的輸出為 cpp view plain copy include iostream include vector using namespace std intmain void for itor array.begin itor array.end itor return 0 a 100...