最近筆試題整理

2021-07-27 15:41:35 字數 880 閱讀 6566

已知資料表a中每個元素距其最終位置不遠,為了節省時間,應該採取的演算法是()

a. 直接選擇排序

b. 直接插入排序

c. 堆排序

d. 快速排序

當元素基本有序時,插入排序的排序時間在o(n)

選b直接選擇排序(straight select sorting) 也是一種簡單的排序方法,它的基本思想是:第一次從r[0]~r[n-1]中選取最小值,與r[0]交換,第二次從r[1]~r[n-1]中選取最小值,與r[1]交換,….,第i次從r[i-1]~r[n-1]中選取最小值,與r[i-1]交換,…..,第n-1次從r[n-2]~r[n-1]中選取最小值,與r[n-2]交換,總共通過n-1次,得到乙個按排序碼從小到大排列的有序序列·

直接插入排序是由兩層巢狀迴圈組成的。外層迴圈標識並決定待比較的數值。內層迴圈為待比較數值確定其最終位置。直接插入排序是將待比較的數值與它的前乙個數值進行比較,所以外層迴圈是從第二個數值開始的。當前一數值比待比較數值大的情況下繼續迴圈比較,直到找到比待比較數值小的並將待比較數值置入其後一位置,結束該次迴圈。

堆排序和快速排序不作介紹了

硬幣遊戲:連續扔硬幣,直到某一人獲勝。a獲勝條件是先正後反,b獲勝是出現連續兩次反面,問ab遊戲時a獲勝概率是()?

a. 1/6

b. 1/4

c. 1/3

d. 1/2

e. 2/3

f. 3/4

假定第一次為正,那麼a必勝

假定第一次為反,那麼第二次為正a必勝,第二次為反則b勝

場景列舉完畢,選f,3/4

題目:深度學習是當前很熱門的機器學習演算法。在深度學習中,涉及到大量矩陣相乘,現在需要計算三個稠密矩陣a,b,c的乘積abc,假設三個矩陣的尺寸分別為m*n,n*p,p*q,且m

筆試題整理

n副撲克,張數為m,大小為1 m,每幅撲克抽一張,求和恰好為k的組合數,結果對10e9 7取餘數。思路 動態規劃。和為i,j副撲克,dp i j dp i 1 j 1 dp i m j 1 此處需要判斷 i m 0 初始化,j 1,i m,dp i j 1 i j,dp i j 1,後面的情況不可能...

C 筆試題整理

1.已知string類定義如下 class string 嘗試寫出類的成員函式實現。答 string string const char str else string string const string another string string operator const string r...

筆試題整理 1

一 簡述陣列與指標的區別?陣列要麼在靜態儲存區被建立 如全域性陣列 要麼在桟上被建立 指標可以隨時指向任意型別的記憶體塊 1 修改內容上的差別 char a hello a 0 x char p world p 0 x 指標p指向字串常量 不能修改 2 用運算子 sizeof 可以計算陣列的位元組數...