108 關務特考三等 電機工程 計算機概論 考古題詳解
第 一 題25 分
整數(integer)的表示法其分類如下圖所示。
(一)Unsigned 及 Signed 表示法有何差別?(5 分)
(二)為何 Signed 表示法表示 時只有唯一的一種方式?(5 分)
(三)Unsigned 表示法若使用 64 位元,請問其可表達的最小及最大的整數各為何?(5 分)
(四)One's Complement 表示法若使用 64 位元,請問其可表達的最小及最大的整數各為何?(5 分)
(五)在圖中右邊 Signed 的部分有 3 種表示法,但不是每一種都有被實際使用在現今的 CPU 中。請問這 3 種其中的哪一種是最廣為被實際使用在現今的 CPU 中?(5 分)
登入後即可作答並保存紀錄。
核心觀念
整數表示法分為 Unsigned(無號) 與 Signed(有號)。無號表示法的每一位都用來表示數值;有號表示法則須同時表示正負號與數值。圖中的 Signed 方法包括 Sign-and-Magnitude、One’s Complement 與 Two’s Complement。
對 位元而言,無號表示法的範圍為 至 。有號方法的範圍則依編碼方式而異;其中 One’s Complement 的範圍為 至 ,而 Two’s Complement 的範圍為 至 。
解題方法與作答
(一)Unsigned 及 Signed 表示法有何差別?
Unsigned 不表示負數,全部位元都用來表示非負整數。若使用 位元,可表示 至 。
Signed 可表示正數、負數及零,必須利用位元編碼表示正負與數值。其可表示的數值範圍及零的表示方式,會依 Sign-and-Magnitude、One’s Complement 或 Two’s Complement 而不同。
(二)哪些表示法表示整數 時只有唯一的一種方式?
依圖中的各種表示法,Unsigned 與 Two’s Complement 表示 時各只有一種方式。
Sign-and-Magnitude 有正零與負零:符號位不同、數值位皆為零。One’s Complement 也有正零與負零:全零位元與全一位元分別表示 與 。Unsigned 沒有正負零之分;Two’s Complement 的零也只有一種編碼。
(三)Unsigned 使用 64 位元的最小及最大整數
64 個位元共有 種位元組合,Unsigned 從全零開始,最大值是全一:
第 二 題25 分
在程式中我們常用的資料結構有陣列(array)、記錄(record)、鏈結串列(linked list)、堆疊(stack)、佇列(queue)等。
(一)陣列(array)有一維陣列及二維陣列,請問其主要差別為何?(5 分)
(二)記錄(record)和陣列(array)都是一群相關元素的集合。請問記錄(record)和陣列(array)的主要差別為何?(5 分)
(三)鏈結串列(linked list)中通常會有一個指標(pointer)的欄位,請問其作用為何?(5 分)
(四)堆疊(stack)通常也稱為 LIFO,請問 LIFO 的意思是什麼?(5 分)
(五)堆疊(stack)和佇列(queue)的主要差別為何?(5 分)
登入後即可作答並保存紀錄。
核心觀念
本題考查常見資料結構的基本定義與操作特性,重點是辨認資料的組織方式、元素間的關係,以及資料進出的順序。本題不涉及計算或法規。
解題方法
依序比較各資料結構的維度、元素型態、連結方式與存取順序:
(一)一維陣列與二維陣列的差別
一維陣列中的元素依單一索引排列,可視為一列資料;二維陣列則使用兩個索引定位元素,可視為由列與欄組成的表格。例如,一維陣列可用 存取,二維陣列可用 存取。兩者的主要差異在於索引數目及資料排列維度。
(二)記錄與陣列的差別
陣列中的元素通常具有相同資料型態,並以索引存取;記錄則由多個欄位組成,各欄位可以具有不同資料型態,通常以欄位名稱存取。例如,學生陣列可存放多位學生的成績;一筆學生記錄則可同時包含姓名、學號與成績。
(三)鏈結串列中指標欄位的作用
指標欄位儲存另一個節點的位址或參照,使節點能連結到串列中的下一個節點(或前後節點)。透過這種連結,串列元素不必連續存放於記憶體中,也能依指標找到後續節點,並支援節點的插入與刪除。
(四)LIFO 的意思
第 三 題25 分
搜尋(search)是在一堆資料中找出所要之特定資料。搜尋之主要核心動作為「比較」動作,透過比較才有辦法判斷是否尋找到特定資料。
(一)使用 sequential search 法來尋找 1000 筆元素中的一個資料,請問最多需要比較幾次?(5 分)
(二)使用 binary search 法來尋找 1000 筆已排序的元素中的一個資料,請問最多需要比較幾次?(5 分)
(三)binary search 法通常會比 sequential search 法使用比較的次數較少,那請問在什麼情形下還是非採用 sequential search 法不可?(5 分)
(四)binary search 法的程式中通常會有類似下列程式碼的一行,請你說明其中 Low 及 High 變數的用途為何?(5 分)
(五)承上小題,請你說明其中程式碼中 的用途為何?(5 分)
登入後即可作答並保存紀錄。
核心觀念
搜尋的核心是逐一比較資料與目標值。循序搜尋(sequential search)從資料的一端開始,依序比較;二分搜尋(binary search)則每次比較中間元素,排除不可能包含目標值的一半資料。二分搜尋要求資料已排序。
解題方法
(一)循序搜尋最多比較幾次?
最不利情況是目標值位於最後一筆,或目標值不在資料中;必須逐筆檢查全部 筆資料。因此最多比較:
(二)二分搜尋最多比較幾次?
每比較一次,搜尋範圍約縮小為原來的一半。比較 次後,最多可判斷的元素數為 ;要涵蓋 筆,需滿足:
因為 、,所以 。最多比較 10 次。
也可用上取整公式計算:
(三)何時必須採用循序搜尋?
當資料未排序時,二分搜尋無法可靠地排除一半資料,因此必須採用循序搜尋。若資料是以鏈結串列等方式儲存,無法直接定位中間元素,也不適合直接使用一般的二分搜尋;
第 四 題25 分
近年來人工智慧蓬勃發展,其中大多均使用了類神經網路。一個典型的神經元(neuron)結構如下圖所示。
(一) 的值如何計算?請寫出公式。(5 分)
(二)Activation Function 通常會採用「非線性」而不是「線性」的函數,請問其主要理由為何?(5 分)
(三)通常我們說要訓練類神經網路,指的是要訓練上圖中的那些項目?(5 分)
(四)通常我們說要訓練類神經網路,但訓練沒有很成功,指的意思是什麼?(5 分)
(五)(此題原卷文字擷取不全,請參考原卷)
登入後即可作答並保存紀錄。
核心觀念
本題考查單一神經元的加權總和、Activation Function 的作用、類神經網路的訓練參數,以及「深度」的意義。圖中先將各輸入乘上對應權重後加總成 ,再經 Activation Function 得到輸出 。
解題方法與各小題
(一) 的計算公式
將每個輸入 乘上對應權重 ,再加上圖中以權重 接入的偏置(bias):
也就是:
依圖中畫法, 是以權重為 的輸入接入加總,因此直接加上 。
(二)為何 Activation Function 通常採用非線性函數?
非線性函數讓神經網路能表達輸入與輸出間的非線性關係,進而學習複雜的分類邊界或函數型態。
若每一層都只使用線性函數,多層線性轉換相乘後仍等效於單一線性轉換,增加網路層數也無法提升其表達非線性關係的能力。