複試題整理

xpj55975發表於2020-05-16

博主宣告:以下為我備考瓜大複試時所準備題,是屬於個人的學習筆記,現在分享出來。
所以僅供參考。

作業系統

1 堆,棧有什麼區別?

從資料結構的角度來看:

棧:在資料結構中,是一種受限的線性表,特點是後進先出,

堆:實際上就是優先佇列的一種資料結構,第一個元素有最高的優先權

在資料結構中,有大根堆和小根堆的概念

概念:葉子節點大於(或小於)父節點

從記憶體分割槽的角度來看:

在C++中記憶體分為五大分割槽,分別是棧區,堆區,自由儲存區,常量儲存區,全域性靜態儲存區

棧的使用與回收都是系統進行的,而在C語言中使用malloc在堆中申請空間,需要手動使用free釋放,在C++中使用new在自由儲存區申請空間,delete釋放。

2程式和執行緒的區別

程式是系統進行分配資源和記憶體管理的基本單位,是一段程式在某一個資料集上面的一次運算,執行時,從磁碟中載入到記憶體。

執行緒是系統排程的最小單位,是程式的一部分。

區別:一個程式包括多個執行緒,執行緒是程式執行的每一一個小任務,程式切換時需要切換資源和記憶體,而執行緒切換時不需要切換資源和記憶體,只需要切換pc指標。

3 什麼是死鎖

死鎖的定義:如果一組程式中的每一個程式都在等待僅由該組程式中的其他程式才能引發事件,那麼該組程式是死鎖的。

死鎖的條件:
①互斥條件②佔有和等待條件③不剝奪條件④迴圈等待條件

死鎖的常見表現:

(1)多程式死鎖:有A,B兩個程式,程式A擁有資源1,需要請求正在被程式B佔有的資源2,而程式B擁有資源2,又在請求資源1,兩個程式都在等待對方釋放資源後請求該資源,而相互僵持,陷入死鎖。

(2)單執行緒死鎖:程式A擁有程式1,而它又在請求資源1,而它所請求的資源1必須等待該資源使用完畢得到釋放後才可被請求,這樣,就陷入了自己的死鎖。

解決死鎖的方法:

①終止(或撤銷)程式。終止系統中的一個或多個死鎖程式,直至打破迴圈環路,使系統從死鎖狀態中解除出來。

(2)搶佔資源。從一個或多個程式中搶佔足夠數量的資源,分配給死鎖程式,以打破死鎖狀態

4 記憶體管理有哪些方法

常見的記憶體管理方式有分割槽儲存管理,頁式管理,段式管理,虛擬儲存管理

連續儲存管理,包括固定分割槽儲存管理,非固定分割槽儲存管理
分頁儲存管理
段式儲存管理
虛擬儲存管理

5 作業系統提供給程式設計師建立程式的介面有哪些

系統呼叫fork(),vfork() ,clone()

6 程式排程演算法有哪些?

先來先服務,短作業優先,高優先權優先(可以動態優先,高響應比優先,也可靜態優先權),基於時間片輪轉(基於時間片輪轉排程演算法RR,多級反饋佇列演算法FB),最短剩餘時間優先。

7 中斷巢狀是什麼;

指新的優先順序更高的中斷會去中斷CPU上正在執行的中斷程式,並且在新的中斷結束後,返回到被中斷點處繼續執行。

8 排程什麼時候發生?

①當程式需要等待某個資源(比如I/O裝置)時,主動請求排程讓出CPU

②當前的時間片用完時

③當程式狀態狀態發生改變時:比如,程式終止,程式睡眠

④程式從中斷,異常及系統呼叫返回到使用者態時。

9 作業系統的定義?

作業系統是管理計算機硬體與軟體資源的計算機程式。

它提供:記憶體和資源的分配,控制輸入輸出裝置,操作網路和管理檔案,提供人機互動介面

10 一個檔案在磁碟上,如何訪問到

缺頁中斷
或者主動呼叫int 19H中斷,將磁碟的資料讀入到記憶體

當程式執行的指令或訪問到的資料在記憶體中時可順利執行;如果在磁碟中,需要系統自動將這部分資訊裝入,這稱“部分裝入”;如此刻沒有足夠的空閒記憶體空間,便把記憶體中不用的資訊暫時移到磁碟上,這稱部分替換。所以只要“部分裝入”和“部分替換能夠實現”,實現從磁碟中讀入資料,來讓CPU執行。

根據FCB彙集和組織形成的檔案目錄,檔案目錄將檔名稱轉化為磁碟中的儲存位置,然後通過訪問道磁碟中的資料就可以訪問到了。

11 作業系統的知識結構,內容,包括哪些?

處理器管理,程式排程,儲存管理,裝置管理,檔案管理

12 什麼是程式,程式排程是排程誰,程式的工作狀態

程式中程式關於一個運算元據集上的一次執行活動,同時,程式也是資源和記憶體分配的基本單位。

程式排程是排程誰:因為程式在CPU中是走走停停的,為了使CPU能夠達到最大的使用效率,當某一個程式在執行過程中需要停止等待,比如說,需要等待I/O,而這時,訪問外設的時候,時間就比較長,這時,該程式就會讓出CPU的使用權,按照所規定的排程演算法,選擇在就緒佇列的中的其中一個程式,將當前的CPU程式儲存在PCB塊中,以linux作業系統為例,就是呼叫shedul()中的switch_to()程式切換程式。

程式的工作狀態:

有兩種,一種是比較簡單的,由執行態,就緒態,和阻塞態

另外一種是7種模式:有新建態,執行態,就緒態,和阻塞態,掛起就緒態和掛起阻塞態

13 為什麼要有系統呼叫

在linux核心中,有實現系統功能的子程式。系統分為核心態和使用者態,核心態實現系統功能,使用者態實現應用程式,當使用者態需要使用的系統資源時,比如訪問I/O裝置等,就需要系統呼叫,同時,設定核心態與使用者態也是訪止使用者的態程式隨意更改核心的資料。

14 說一下記憶體管理方式有哪些

連續分割槽管理,分頁管理,分段管理,虛擬儲存管理技術管理

15 請求分頁頁面置換演算法列舉?

LRU,LFU,FIFO 第二次機會替換演算法 時鐘演算法 改進的時鐘演算法

16 敘述clock置換演算法

用迴圈佇列構造頁面佇列

初始化:每一個頁設定一個引用位,頁面被調入記憶體時引用位置為1,每一個頁面被訪問時記憶體引用位置為1
進行淘汰時,從指標指向的頁面開始掃描,遇到引用位為1的頁面,講引用位置0;遇到引用位為0的頁面,淘汰該頁面。

若掃描迴圈佇列,所有頁面引用位均為1,則所有頁面經過依次掃描引用位均置為0,指標也就回到開始掃描的地方,那下一次掃描一定有頁面換出。

改進的clock有兩個位,一個修改位,一是引用位

第一次掃描,找到未被修改且未被引用的的頁,如果找了,就淘汰該頁面
第二次掃描,找到第一個未被修改,且被引用的頁,如果找了,淘汰該頁,並將掃描過引用位為1的頁,將該位置0
第三次掃描,一定可以找到一個淘汰頁

17 虛擬儲存的作用?為什麼虛擬儲存可以實現?

記憶體在計算機中的作用很大,電腦中所有執行的程式都要經過記憶體來執行,如果執行的程式很大或很多,就很導致記憶體消耗殆進。為了解決這個問題,拿出一部分硬碟空間來充當記憶體使用,當記憶體用完時,計算機就自動呼叫硬碟來當記憶體,以緩解記憶體的記憶體的緊張。

為什麼虛擬儲存可以實現?

作業系統可以痛過呼叫系統中斷

18 多級儲存系統的作用?

計算機系統中,執行越快的儲存器件,價格越昂貴,暫存器的速度大於儲存器,儲存器存取速度遠遠大於磁碟,但是它們的儲存容量是相反的,為了緩解儲存容量,高速度,低成本之間的關係,在CPU與儲存器之間加上cache,來解決cpu與主儲存器之間的速度不匹配,在主存器與外存之間加一個TLB快表,使得計算看似擴充套件了更大的容量空間。

19 暫存器和儲存器的區別

暫存器儲存容量小,但是暫存器速度快

儲存器儲存容量比暫存器大很多,但是存取時間長

暫存器在CPU內,儲存器一般只硬碟,U盤等,在CPU外,
暫存器儲存的是直接運算元據,儲存器中放的是指令和資料

20 作業系統中用來表示記憶體已被佔用的資料結構是什麼

根據作業系統所使用的儲存技術的不同,所使用的資料結構表也不不同?
在固定分割槽儲存管理中,記憶體分配表
在可變分割槽儲存管理中,使用已分配區表和未分配區表
在分頁儲存管理中,使用記憶體物理塊表用來記錄頁框的狀態,管理記憶體物理塊分佈
在段式儲存管理中,使用段表管理

21 系統呼叫與普通呼叫的區別?

計算機組成原理

1 微控制器的引導過程

作業系統的系統的啟動過程
當Linux 0.11 作業系統進入真實模式,並從地址0xFFFF0開始自動執行程式程式碼,實體地址為0處進行初始化中斷向量,然後將第一個扇區讀入到記憶體的7C00處,然後從7c00處開始執行。

微控制器的啟動過程:
微控制器上電或者復位後,CS被置為FFFFH,IP被置為0000H,cpu就從記憶體的FFFF0H處取出第一條指令,開始執行。

2 DMA控制器是主裝置還是從裝置,什麼時候做主裝置

有的時候是主裝置,有的時候是從裝置,

當CPU給DMA傳送資料,位元組數,此時他就是從裝置。

當DMA控制匯流排,讓外設與儲存器之間傳輸資料時,就是主裝置。

3 8259的中斷過程

8259A有兩種模式,一種是操作模式,一種是中斷模式
微控制器可通過埠的方式,CPU可傳送in,out指令控制傳送給8259進入中斷模式,8259便接收中斷向量號,通過中斷判優選擇結構選擇緊急程度最高的中斷進行相應,通過int埠給CPU傳送中斷請求,CPU收到後響應中斷,8259給CPU傳送中斷向量號,CPU收到中斷向量後進行執行。

4 動態儲存和靜態儲存的區別

靜態儲存:指在編譯時對資料物件固定的儲存位置,執行時始終不變。即一旦儲存空間的某個位置分配給某個資料名,則目標程式在執行過程中該地址就屬於該地址名

由靜態儲存分配產生的資料區稱為靜態資料區

靜態儲存分配適用於不允許遞迴過程或遞迴呼叫,不允許可變體積的資料結構語言

靜態儲存分配的特點:簡單,易於實現

動態儲存:

指執行階段源程式中的資料物件分配儲存位置

實行動態儲存分配的語言特點

允許遞迴過程

允許可變資料結構

允許用於自由申請記憶體以及釋放

5 能不能設計cpu

設計思路:

要想設計CPU,就要設計一個的簡易指令系統,在根據指令搭建對應的資料通路,在資料通路的基礎上實現控制邏輯,下一步是加上流水線,劃分流水線,緊接著解決流水線中衝突的問題,提高流水線的效率,最後解決CPU異常的問題。

6 關於快取記憶體 Cache 的兩種寫 入方法是什麼

什麼是cache,cache記憶體與CPU之間很小的一個快取,用於存放主存中最近經常使用得資料,用於緩解CPU於主存之間的速度,大大提高了CPU得執行效率。

寫回法:命中,直接修改cache內容,只有當此行被換出時才寫回主存。沒命中時,從記憶體中分配一塊給 cache,對擦車進行寫。

全寫法:當cache命中時,cache與主存同時發生修改,當cache沒命中時,有兩種方法,一是要訪問的記憶體資料的那一塊分配給cache後,cache和記憶體同時修改;或者只修改記憶體。

寫一次法:第一次使用全寫法,後面都是用寫回法

7 嵌入式系統和普通的系統區別在哪

區別1:型別

普通系統:應該指實實在在的一般電腦安裝的系統

嵌入式作業系統:指“看不見”的作業系統,形式多樣,應用領域廣泛,按應用進行分類;

區別2:組成

通用:通用處理器,標準匯流排和外設,軟硬體相對獨立

嵌入式:面向特定應用的微處理器,匯流排和外設一半整合在處理器內部,軟硬體緊密結合,具有很強的專用性,必須結合實際系統進行合理的裁剪利用;

8 嵌入式系統用什麼語言寫,什麼是嵌入式

C/C++,可以控制,可以操作或輔助操作機器和裝置裝置,是一種專用計算機
組合語言

9 微控制器為啥叫微控制器

將運算器,儲存器,控制器,輸入輸出,整合到一塊矽晶片中,該晶片具有完整的基本計算機的功能,所以稱為單片微型計算機,簡稱微控制器

10 外部中斷CPU該如何處理

CPU從外部中斷源接收到中斷後,CPU在滿足中斷的條件下,傳送中斷響應,並關中斷不再響應其他中斷。CPU尋找中斷源是哪個裝置,找到後,儲存當前CPU的狀態,以及各種暫存器的狀態,將PC轉移到中斷處理程式的地址,完成中斷處理程式之後,恢復現場,開啟中斷,繼續開始的中斷點執行。

計算機網路

1 一個訪問網路的過程

當在網站上輸入了地址後,瀏覽器便會向本地域名伺服器請求解析,若本地域名伺服器沒有,則本地域名伺服器以客戶的方式向根域名伺服器傳送請求報文解析請求,根域名判斷在DNS.abc的域,將許可權域名伺服器的地址傳送給本地域名伺服器,本地域名器向許可權域名伺服器傳送連線請求,許可權域名伺服器找到後,將域名的IP地址傳送給本地域名伺服器,本地域名伺服器收到後,儲存下來,並將IP傳送給主機,主機便於IP地址所在的從機建立TCP連線請求,經過三次握手,主機便下載到了html,並以圖形化的方式呈現給使用者一個介面

2 DHCP協議的作用

DHCP(動態主機配置協議)作用:動態分配IP

從我的理解:

首先客戶端問附近的伺服器有ip地址碼

伺服器回答,說有啊,服務端就發一一個ip過去

客戶端就申請使用這個ip

服務端就確認

簡單介紹下DHCP

A 客戶端要IP,傳送第一個報文discover

B 傳送一個offer回應它,可以提供IP

A 就傳送一個request請求報文

B 伺服器收到後,如果可以,就傳送一個ACK確認

3 網路OSI的七層結構

物聯網,鏈路層,網路層,運輸層,會話層,表示層,應用層

4 哪幾層用硬體實現,為什麼其他層不用硬體

5 rarp的作用,相對應的協議是什麼,地址解析的過程。

RARP通過傳送反向解析的MAC地址,其他RARP伺服器接收到後,在一張對映表中查詢,若有,返回的資料中包含了該裝置的所需的IP地址,

相對應的協議是arp;

地址解析過程:

當主機A打算給主機B傳送IP資料包時,A在快取區中檢視是否有無主機B的IP地址,如有,直接查出其對應的硬體地址,將該硬體地址寫入MAC幀,如果沒有,就使用目的MAC地址為FF-FF-FF-FF-FF的幀來廣播ARP請求,可以使同一個區域網的所有主機收到ARP請求,當B主機收到後,就給A傳送響應分組,分組中就包含了該IP地址與MAC地址的對映關係。

5 發微信用的是TCP還是UDP,為什麼,所需的IP地址。

看傳送的檔案,當傳送一些聊天文字的時候,資料比較小,採用哦個UDP報文傳輸,當傳送一些幾十兆幾百兆的視訊,由於資料比較大,一個報文放不下,所以需要使用TCP傳輸

6 路由器和交換機的功能然後他們的區別

路由器用於大型網路之間的互聯,路由轉發,擁塞控制等

交換機用於區域網內部之間的互聯。

區別:

路由器可以隔離衝突域,也可以隔離廣播域

交換機可以隔離衝突域,不可隔離廣播域

路由器是網路層裝置

交換機是資料鏈路層裝置

7 TCP擁塞的解決方式,分別解釋一下

慢啟動:當新建TCP連線時,擁塞視窗CWND初始化為1,表示一個資料包大小,源端按cwnd傳送資料,每收到一個ACK確認,cwnd視窗數就+1,在一個RTT時間內,CWND就會增加一倍,即CWND隨著RTT呈指數增長。

擁塞避免:當cwnd達到ssthresh時,在此階段,傳送方每接收一個ACK確認,CWND就增加1,CWND就會隨著RTT呈現線性增長

當出現由超時指示丟包時,擁塞視窗變為1,開始慢啟動過程。這樣就可以迅速減少主機傳送到網路中的分組數。

快重傳和快恢復:當收到3個以上的重複ACK確認時,說明有可能有資料包丟失,於是需要立刻重傳該丟失的資料包,這就是快重傳。更新當前的ssthresh為當前CWND的1/2,然後將CWND變為原來的1/2,開始擁塞避免階段,即隨著RTT呈線性增長,這個過程就是快速恢復階段。

8 TCP為什麼三次握手

為什麼三次握手而不是兩次握手,這是為了解決已失效的建立報又傳送到了服務端。如果採用兩次握手,試想一下出現這樣一種情況,客戶端向伺服器第一次傳送資料,由於網路原因,這個資料包走了一條比較長的鏈路,客戶端對該資料包的時間到時,就重新傳送一個建立請求報文,此時網路又好了,於是服務端接收到了第二次建立連線請求的報文,於是服務段傳送確認,並反向傳送連線請求,客戶端再傳送一個確認,此時建立連線之後,雙方互相傳送資訊,再通過四次揮手,斷開連線,此時第一次走了好遠的資料包文,又到了服務端,服務段以為客戶端又要建立連線,於是就開啟了連線,便發向確認,而客戶端自己又沒傳送請求建立連線,所以客戶端就把這個確認丟掉,但是此時服務端開啟了連線,一直在等待客戶端傳送資料過來,這也就服務端的資源,而網上的主機很多,這樣就造成了很多不必要的浪費。

9 用自己的話講TCP連線到底是什麼

TCP:傳輸控制協議,就是為了保證網際網路通訊的雙方能夠可靠傳輸,所以TCP協議就制定了可靠的傳輸協議,想慢開始,快回復,擁塞控制,快重傳

資料結構

1 描述一下你學過的排序演算法

插入排序

①:直接插入,折半插入,希爾排序

②基於交換的有
氣泡排序和快速排序

③基於選擇的有
簡單選擇排序和堆排序
基數排序和歸併排序

氣泡排序 :一個迴圈,從前到後比較,當後面的一個值比前面的值小,交換,再迴圈迴圈上面的過程直到資料有序。

快速排序:設兩個指標,i,j分別指向待排序的資料的兩頭,左邊不動,右邊指標左移找到一個比左邊指標小的值交換,左邊指標移動,找到一個比右邊指標大的值交換,直到i>停止。

選擇排序:假設待排序的資料是L[1…n],第i次從L[i…n]中選取最小或者最大的值與L[i]交換,直到所有資料有序

堆排序:先更具堆的要求,建立大根堆或者小根堆,拿小根堆為例,對建立好的初始堆排序,每次將堆中最後一個元素與第一個元素交換,再進行一次堆調整,接著,把倒數第二個與一個元素交換,重複,直到堆滿足小根堆和大根堆定義

基數排序

把資料根據相同的各位收集在一起,對每組收集的資料進行插入排序,最後對所有資料進行插入排序

歸併排序:設排序有n個數,把所有待排序的資料,兩兩和並,得到n/2個長度為二或者1的有序表,重複,直到得到長度為n的序表為止。

2 資料結構的順序結構有哪些

順序表,佇列和棧

3 給一個連結串列,如何確定這個連結串列有環?

遍歷這個連結串列,將訪問過的節點標記已訪問,如果繼續遍歷到已訪問過的結點時,則有環,否則,當遍歷結束時即遍歷到空時,說明該連結串列無環。

4 資料結構如何使連結串列逆置

只需要遍歷一個連結串列,使用頭插法插入到表中

5 你能描述一下資料結構具體有哪幾種嗎?

線性表:

順序儲存—順序表

鏈式儲存 —連結串列

棧,和佇列

二叉樹,平衡二叉樹,haffuman樹,完全二叉樹,

深度優先遍歷,廣度優先遍歷

6 佛洛依德演算法 迪傑斯特拉演算法

佛洛依德演算法:

計算多源點間的最短路徑

令 g [ u ] [ v ] 表 示 u 到 v 的 距 離 , 找 到 一 個 k 點 , 使 g [ u ] [ v ] > g [ u ] [ k ] + g [ k ] [ v ] , 則 g [ u ] [ v ] = g [ u ] [ k ] + g [ k ] [ v ] 令 g[u][v]表示 u到v的距離,找到一個k點,使g[u][v]>g[u][k]+g[k][v],則g[u][v]=g[u][k]+g[k][v] g[u][v]uvk使g[u][v]>g[u][k]+g[k][v],g[u][v]=g[u][k]+g[k][v]

重複該步直至所有結點均已遍歷

迪傑斯特拉演算法:求源點到其他結點的最短路徑

先初始化d[i],d[i]為源點A到其他結點的權值,不直接相連為無窮大

計算,.

如 果 找 到 一 點 k , 使 得 d [ i ] > [ 0 ] [ k ] + d [ k ] [ i ] , 則 將 d [ i ] = d [ 0 ] [ k ] + [ k ] [ i ] , 每 找 到 一 個 k , 就 放 入 集 合 中 , 重 復 以 上 步 驟 , 直 到 所 有 結 點 均 在 集 合 S 中 如果找到一點k,使得d[i]>[0][k]+d[k][i],則將d[i] = d[0][k]+[k][i] ,每找到一個k,就放入集合中,重複以上步驟,直到所有結點均在集合S中 k使d[i]>[0][k]+d[k][i],d[i]=d[0][k]+[k][i],kS

7 線性表的定義

數位電路

數字邏輯主要學了哪些東西

**BCD編碼:**用4位二進位制數來表示1位十進位制數中的0~9這10個碼數,用二進位制編碼的10進位制編碼。

**反演規則:**與變非,非變與,原變數變反變數,1/0互換

**對偶規則:**與變非,1/0互換

**什麼是最小項?**與或表示式

n個變數X1,X2…Xn,每個變數都以它得原變數或非變數得形式在乘積項中出現,且出現一次。

**什麼是最大項?**或與表示式

n個變數X1,X2…Xn,每個變數都以它得原變數或非變數得形式在和//項中出現,且出現一次。

**兩個的關係:**最小項對應最大項取反

卡諾圖:是與變數的最小項對應的按一定規則的方格圖,,每一個方格對應一個最小項的有或無

邏輯閘電路 與 或 非 異或和同或

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-kzRjwhW3-1589637931309)(C:\Users\Mr. chen\AppData\Roaming\Typora\typora-user-images\image-20200304125810990.png)]

MOS管:的開關特性相當於一個由UGS控制的無觸點開關。

邏輯代數

組合邏輯電路

觸發器

時序邏輯電路

脈衝波形的產生與變換

數模與模數轉換

半導體儲存器

數字邏輯基礎,組合邏輯電路,常用組合邏輯功能器件,時序邏輯電路

觸發器

6 組合邏輯電路和時序邏輯電路區別(電路圖的區別和效能特性的區別)

組合邏輯電路:任意時刻的輸出僅僅取決於該時刻的輸入,與電路原來的狀態無關

時序電路具有記憶功能,時序電路的特點是:輸出不僅取決於當時的輸入值,而且還與電路過去的狀態有關。

電路圖上時序邏輯電路多了一個儲存器件。

7 大訊號和小訊號的區別

大訊號和小訊號是根據放大器動態範圍來說的訊號分類。

大訊號體現的特性是直流的靜態工作點,其直流阻抗就是V/I = b/a

小訊號體現的是靜態工作點的斜率,可以成△V/△I

靜態工作點:指的是輸入訊號為零時,電路處於直流,電壓的數值在三極體特性曲線上表示
為一個確定的點

8 模電分析方法應該先分析交流還是直流,為什麼,怎麼進行分析

遵循先直流,後交流的原則,直流是基礎,交流是目的,只有靜態工作點Q合適,保證方法訊號不失真,進行交流分析才有意義。

靜態工作點Q的作用:

①確定放大電壓和電流的靜態值

②選取合適的靜態工作點可以防止電路產生非線性失真

C語言:

1 資料結構中線性表有哪些?

線性表,棧,佇列

2 還有快排和冒泡的原理自己他們的空間複雜度是多少

快排㏒2n,冒泡 O(1)

C++方面:

1 幾種方法寫階乘;

3種,static,遞迴,迴圈

2 定義一個結構體,裡面一個int型別成員,一個char,int佔四位,char佔一位,那麼在Linux佔幾位

8個位元組,char 定義了一個位元組後,再定義一個int 型別,int的為4個位元組,要儲存再4的倍數的儲存單元種,所以編號為1,2,3的位元組要填充,int定義的從4開始。

3 請設計演算法統計一個二進位制數中1的個數

兩種方法:

第一種是:設定一個變數count,將二進位制放入string變數中,遍歷string變數的每一個字元,當這個字元等於1是,conut++

第二種方法是:C++中有一個bitset,直接用bitset定義的二進位制變數呼叫count就可以得出1的個數

4 遞迴的含義,遞迴能不能替代迴圈,遞迴需要做什麼?

遞迴其實就是一個函式直接呼叫或間接呼叫自己過程。

遞迴可以替代迴圈,遞迴需要壓棧,存放下一條指令的地址以及函式的引數

遞迴可以改寫成迴圈,有些遞迴只需要一個迴圈就可以實現,有些遞迴需要迴圈+棧,需要輔助空間記錄過程中的,某些資料才可以。

5 堆疊需要用的什麼

bp,ss

6 printf函式在彙編中怎麼實現

在彙編中,先把printf的引數,從右往左壓入棧中,再根據棧中,格式,計算對應格式所佔的空間,再呼叫system_call ,來實現輸出

7 printf函式的引數格式,長度等等

%d %i %u %f %ld %lf c%G c %X %x %s

8 描述斐波那契序列演算法和

演算法①:

使用遞迴,當n<=1返回n

當n>=2時 f(n) = f(n-1)+f(n-2)

呼叫f(n)

if n==1 return faci(1);

​ else f(n) = f(n-1)+f(n-2)

演算法②:

使用迭代的方法:

迴圈 1 到 n

{
當前值 = f(i-1) + fi;

f(i-1) = fi;

f(i) = 當前值;
}

9 漢諾塔演算法

演算法:有三個柱子ABC,n個盤子在A柱子上

將A上面n-1個盤子藉助於C,移動到B,

將A上最下面的一個盤子移動到C

再將B上的n-1個盤子藉助於A移動到C(此時問題的規模就變小了,但還是同樣的問題規模)

10 C語言中你習慣定義全域性變數還是區域性變數

一般的話,為了方便管理,我會盡量為了模組程式設計,儘量使各個模組低耦合,定義區域性變數使用

如果實在是

11 編譯的過程是什麼

詞法分析, 語法分析, 語義分析及中間程式碼生成,優化,目的碼生成

12 專業學了啥

程式語言學了:C,C++,java,php,C#

計算機基礎課學了:資料結構,作業系統,資料庫,計算機組成原理,資料庫,計算機網路

應用型課程學了web前端,web服務端,andriod開發,linux 0.11核心註釋

硬體學了一點:數字邏輯,類比電路與電子設計,微控制器

自己看過嵌入式系統原理,感測網原理與技術,proteus,DXP,

13 嵌入式課程教了啥

大學沒有嵌入式課程

但是自己看過相關的書,什麼是嵌入式,家裡的冰箱,微波爐點,計算機系統嵌入

14 斐波那契遞迴和迭代區別是啥

遞迴:自己呼叫自己,迭代:反覆替換

遞迴和迭代都是有重複,只是重複的不同,迭代顯式使用重複結構,而遞迴通過重複呼叫函式實現。

遞迴與迭代都是基於控制結構:迭代用重複結構,而遞迴用選擇結構

遞迴在遇到基本情況停止,迭代在迴圈條件失效時停止

時間複雜度,用遞迴來求,時間複雜度O(2n),迭代時間複雜度O(n)

15 遞迴的定義及優缺點

16 C 語言的 3個基本結構是啥

選擇結構,迴圈結構,順序結構,

17 全域性變數和區域性變數分別儲存在哪裡

堆,棧,自由儲存區,靜態/全域性變數儲存區,常量儲存區

18 陣列和指標的區別是什麼

很多區別:

宣告一個陣列,編譯器將根據陣列的大小為他分配記憶體空間

宣告一個指標,編譯器只為指標本身儲存記憶體空間

另一方面:如果宣告一個陣列int a[]; 和宣告一個指標 int *b;

表示式b++可通過編譯,而a++無法通過編譯,因為a是一個常量。

19 c++的繼承方式

三種繼承方式:

public:父類成員在子類中均可使用

protected:父類的公有成員變為保護成員,其他成員保持不變

private:父類所有成員在子類中變為私有成員

20 .請簡述C,C++語言有何區別和聯絡

C先出現,C++是在C上擴充,C是C++的子集,C++是C的超集

C是程式導向,C++是物件導向

C++在C的基礎上,增加了很多關鍵字,比如bool ,const,protected等等

malloc和free替換成了new和delete

21 .簡述物件導向有哪些好處

優點:易於維護,複用,擴充套件,由於,物件導向有封裝,繼承,多型的特性,可以設計出低耦合的系統,使系統易於維護,更加靈活。

缺點:效能比比程式導向低

22 .簡述類和物件

物件是對客觀事物的抽象,類是對物件的抽象,類是一種抽象的資料型別。

它們的關係是,物件是類的例項,類是物件

23 .什麼是過載

過載:就是函式或者方法有相同的名稱,但是引數列表不相同的情形,這樣的同名不同引數的函式或者方法之間,互相稱之為過載函式或方法。

過載的作用:

不用為了對不同的引數型別或引數個數,而寫多個函式。多個函式用同一個名字,但引數列表,即引數的個數或資料型別可以不同,呼叫的時候,雖然方法名字相同,但是可以根據引數自動呼叫相應的函式

24 .C++裡什麼是friend?

用friend可以宣告一個友元函式或者友元類,通過友元函式或或者友元類可以訪問一個分裝了類中的成員,儘管,friend破壞了類的封裝性,但是為了資料共享,提高程式的效率和可讀性,這種破壞也是很有必要的。

25 Java和c++的異同

相同點:都是物件導向的思想,都有封裝,繼承,多型等特性

不同點:
1.java為解釋性語言,程式原始碼經過java編譯器編譯成位元組碼,然後又JVM解釋成機器指令,然後執行。
C/C++為編譯性語言,原始碼經過編譯,彙編,連結後生成可執行的二進位制程式碼,可直接執行。
因此java的執行速度比C/C++慢,但java能夠跨平臺執行,C/C++不同。

2 . java是純面嚮物件語言,除了基本資料型別外,其他型別都是類,而C++相容物件導向和麵對過程,可以定義全域性變數和全域性函式,而java沒有

3.java不支援C++中的多繼承,但java引入了介面的概念。

4 java不支援運算子過載,而C++語言支援運算子過載。

5 .java中沒有指標的概念,C++有指標的概念

26 Java與c++的類、繼承有什麼相同和不同

過載:C++提供了運算子過載,而java並不提供

繼承:C++支援多重繼承,這是C++的一個特徵,他允許多父類派生一個類。java只能單繼承,但是java通過可以實現多介面,來變相實現了多繼承。

27 物件導向中什麼封裝,多型,繼承

封裝:隱藏物件屬性和實現的細節,僅對外公開介面,控制在程式中屬性得讀和修改得訪問級別,將抽象得到的資料和行為相結合形成一個有機得整體類

多型:用同一相同的指令呼叫不同的方法,這樣的稱之為多型,需要使用到virtual關鍵字,使得虛擬函式在執行時動態繫結。

繼承:繼承是一種聯結類的層次模型,並且允許和鼓勵類的重用,它提供了一種明確表述共性的方法,物件的一個新類可以從現有的類中派生,這個過程稱為類的繼承。新類稱為原始類的派生類,而原始類稱為新類的基類或者父類。

資料庫

1 資料庫有幾種鎖

加鎖是實現資料庫併發控制的一個非常重要的技術。

為什麼要上鎖?

當事務在對某個資料物件進行操作前,先向系統發出請求,對其進行加鎖。加鎖後事務就對該資料物件有了一定的控制,在該事務釋放鎖之前,其它的事務就不能對此資料物件進行更新操作。

資料庫中有兩種型別的鎖:

排它鎖和共享鎖。

共享鎖的資料物件可以被其他事務讀取,但不能修改

排它鎖:其他的事務不能對它讀取和修改。

2 資料庫的事務

什麼是資料庫事務?
資料庫是指操作多個資料項的一組資料庫操作序列,這組序列要麼全部執行,要麼全部失敗,是一個不可分割的工作單位。

有四個特性:ACID

a:原子性

c:一致性

i:隔離性

d:永續性

3 常用的資料庫有哪些?

MySql,SQL server,Ocacle,,Access,redis,HBase

4 資料庫的主碼外碼?

主碼和外碼是用來實現參照完整性的,外碼的資料項需要參照主碼的資料項來操作,具體實現是建立資料庫中時表間建立關係

1.參照關係比如學生表的學號時學生表的主鍵,是成績表的外來鍵,成績表的學號參照學生表的學號錄入的,也就是,如果學生表沒有的學號,成績表是無法錄入的

2.級聯操作,當刪除主表裡面的學號時,從表裡面的那個學號會響應的自動刪除,修改。外碼參照主碼修改

5 資料庫正規化的定義以及區別

第一正規化:表中的每一個屬性都是一個原子,不可再分。

第二正規化:(無重複的行)在滿足第一正規化的基礎上,每一個元組必須可以被唯一地區分,非主屬性完全依賴於主鍵

第三正規化:在滿足第二正規化的基礎上 ,要求一個資料庫表中不包含已在其他表中亦包含的非主關鍵字資訊,不能存在非關鍵字欄位對一候選關鍵欄位的傳遞函式依賴。

非主屬性不存在傳遞依賴於碼和不存在部分依賴於碼。

(巴斯正規化):在第三正規化的基礎上,資料庫表中如果不存在任何欄位對任一候選關鍵欄位的傳遞函式依賴。不存在任何欄位對任意候選欄位傳遞函式依賴

離散數學

1 用離散數學解釋下主成分分析是啥

主程式程式分析(PCA)是一種降維方法,通常用於通過將數量很多的變數轉化為仍包含集合中大部分資訊的較少變數來降低資料集的維度。

2 離散數學關於群的定義

對於<G,*>

若G關於*封閉

G上運算*結合律

G關於*存在麼元e

如果對任意a屬於群,a*b等於e,b屬於群

則稱代數系統<G,*>為群

其他

2 一個方形桌子砍一刀後有幾個角?

還有5個角

3 解釋機器學習

機器學習其實是一個程式,只是這個程式可以根據輸入的資料不斷進化,然後通過獲得經驗來處理未曾見過的資料

4一個邏輯問題,10框蘋果,有9框每個半斤重,有一筐每個四兩,如何通過只稱重一次,找出那個不一樣的

( 55 ∗ 5 − m ) = 45 ∗ 5 + 4 ∗ 10 (55*5-m)=45*5 + 4*10 (555m)=455+410

等式左邊是若10籃子是5兩的總質量(單位:兩)-多計算的兩數 = 稱重的總兩數

什麼是均值?**

是平均數?一組資料之和除以該數的個數

5 專案是什麼,自己做了什麼

因為是學生,還沒出去,在校製作了一些課程設計,和一些感興趣的小專案不知道算不算。

在大一的時候,做了一個從C語言的課設,用指標,連結串列,檔案做了一個學生學習系統,在數學模組,輸入一個值,與兩個計算值的範圍,用隨機函式,生成表示式,用於給學生出題。還可以批改,再做錯題,錯題統計之類。

後面校內實習和java課程設計寫了兩個小的web系統,後面寫了一個畢業設計和一個感興趣的基於物聯網的智慧檯燈。

6 介紹自己的家

老師好,很高興可以介紹我的家庭,我來自江西一個一個小山村,我家一面環山兩面環水,我爸媽都是手工業的,因為上個年代祖父祖母那代人的家庭是非常窮苦的的,所以父親高中上了一半也就沒有繼續讀下去,而母親家也是孩子比較多,只讀了兩年級,從小在鄉下長大的我深深懂了父母的艱苦,這也讓我養成了肯吃苦,肯努力奮鬥的品質,雖然對外面其他孩子來講,我和它們教育資源相差許多,但最終業在高三那年考到了我們江西省的省會,靠近了我所在大學的一本專業,可能對於老師們來講不算什麼,但對於我們那邊小山村來說,30多戶的人家,同齡人只有我一個考上了,那可是讓我父母感到莫名的欣慰,因為我終於不用走它們的老路了,在大學的幾年,我努力上進,學習的同時也在不斷地鍛鍊我除了學習之外的其他素質能力,於是在大學任職了幾年班長和輔導員助理,現在我來到了西北工業大學,我也希望老師能夠給我繼續學習的一個機會,我一定好好努力,謝謝。87 最擅長哪種語言**!!!!!

7 講下你的畢設

學會一種,敢於探索的程式,因為我們當時單品機技術也是我們專業的選修課,老師只是把我們引入們

4KB的 E2PPROM 光照定時使用它儲存資料,掉電不會丟失。

我的畢業設計是軟硬結合的,後面又補充了一些物聯網的技術

做的畢業設計的名字是基於微控制器控制的智慧窗簾系統,控制單元用的STC89C52,做了三個主要的模組,一個是時鐘模組,第二個是感應模組,第三個是遠端控制模組。

8 英語:自我介紹+家鄉介紹,什麼時候來的西工大,感覺西工大怎麼樣,以後想在哪個公司

9 評價我報的老師的論文

和演算法有關吧,看了一些均值聚類演算法,鏈路質量預測,壓縮感知,無線感測網路

10 學校,專業是啥,專業多少人,排名多少

GPA 3.4/4 學校是江西省省會南昌的一所南昌航空大學 專業72 12

11 特徵值是啥

如果一個矩陣乘以一個向量 = 一個值乘以該向量,則稱該值為該矩陣的特徵值

12 西工大給你印象最深的地方 學過什麼程式語言,為什麼來nwpu 怎麼知道

13 nwpu全拼是什麼

14 做過什麼專案問了

15 佇列和連結串列相比的缺點

16 你最喜歡的專業課是什麼?

​ 計算機網路和C++

17 怎麼求sin 0.1

用泰勒公式,把sin的展開式寫出來,可以通過程式設計來計算

18 你學過這個專業相關得專業課有哪些**

計算機組成原理,微控制器

19 相比於門外等著的人,你覺得你的優勢是什麼(英語)**

Frist ,my major is computer and science,so I have some koneledge about my major

second,I choose the major because I have intense interest,I ever get access it

the

20 為什麼選擇這個方向

這個要從我在大學期間做畢業設計開始,大學我選了一個基於微控制器控制的智慧窗簾控制系統,因為一般微控制器控制的不能聯網,所以我在網上找到了一個物聯網這個東西,當時也感到特別感興趣,自己特別相想,實現通過一個手機App實現的智慧窗簾,怎麼,完成了大部分,也終於交上了大學期間最滿意的答卷,因為我們學校的我們專業並沒有開設有關物聯網的課程,學的聯絡硬體最相關的還算是計算機組成原理,所以微控制器我們當時學的是專業選修課,因為這門使用匯編學的的,當時上這門課寫的程式都是用匯編寫的,而彙編我們沒上這門課,所以當時學的不好,在大四畢業設計選課題的時候,為了給我的畢設加上一個聯網模組,讓裝置從雲端獲取時間,並且同過手機App遠端控制它的開合。從那時候覺得,特別有成就感,當時就做了一個智慧檯燈,最後也實現了。

前沿技術

21 極大似然函式的作用:

可以根據極大似然函式可以求得極大似然估計值,即用已知的總體和樣本結果,反求樣本最有可能發生的概率。

22 一個箱子,放了一個白球,一個黑球,每次取一個便放回去,問至少有一次是白球的概率是多少;

1-2-n

23 雙聚類 啟發式搜尋 k均值聚類

雙聚類演算法:

光譜聯合聚類:

在矩陣中,找到的值高於其它行和列中的值,每行和每列只屬於一個雙聚類,因此重新排列行和列中的這些高值,使這些分割槽沿著矩陣對角線連續顯示。

啟發式搜尋:

利用當前與問題有關的資訊作為啟發式資訊,這些資訊是能夠提升查詢效率以及減少查詢次數的。

如何利用這些資訊?

定義一個估價函式h(x)。h(x)是對當前狀態x的一個估計,表示x狀態到目標狀態的距離。

1.h(x)>=0

2.h(x)越小表示越接近目標狀態;

3.如果h(x) == 0,說明達到目標狀態

k均值聚類:

K均值聚類演算法:是一種迭代求解的聚類分析演算法,其步驟是,欲將資料分為k組,則隨機選取K個物件作為初始聚類的中心,然後計算每個物件與各個種子聚類中心之間的距離,把每個物件分配給距離它最近的聚類中心。重複以上步驟,直到

①沒有物件被重新分配給不同的聚類

②沒有聚類中心在發生變化

③誤差平方和區域性最小

24 學過哪些前沿課程 課程內容是什麼 人工智慧是什麼

大資料:是指資料的獲取,分析,管理,計算超出了當前資料庫軟體工具的處理能力範圍的一種資料集合。

特點:大,多樣,有效度密度低,高速,真實性

初級階段有:分散式計算技術,HADOOP,分散式儲存技術原理,MAPREDUCE

hadoop就是一種分散式計算的解決方案

比如說從1TB或者1PB的資料中尋找關鍵詞,通常可能要消耗幾天,但是使用hadoop只需要幾個小時,hadoop將資料傳送到sou各個HDFS(分散式檔案系統中),各個分散式檔案處理後,再返回,這就大大縮小了搜尋時間。

內容是什麼?

25 資料探勘有什麼應用

什麼是資料探勘?

資料探勘就是從海量的資訊中利用有效的演算法提去需要的資訊。

應用:就我們生活中熟知的網上購物,使用者可以根據以往其他使用者大量評價,來計算機決定該物品是否值得購買~

27 機器人的定義是啥

自動執行工作的機器裝置,或者可以執行預先編寫的程式的機器。能夠代替人類的工作,比如基本家務,或者高空作業,高危作業等。

28人工智慧是啥

人工智慧研究,模擬,延伸人的技術,方法,理論的一門技術科學。

29 人工智慧的避障演算法是啥

比較熱門的有:遺傳演算法,神經網路演算法,模糊演算法

神經網路:是一種模仿生物神經網路的結構和功能的數學模型或計算模型

模糊演算法:沒有根據經典控制理論那樣把實際情況加以簡化從而建立數學模型,而是通過人的經驗和決策進行相應的模糊邏輯推理。

30 python特殊的資料型別

列表,元組,字典,集合

31 機器人的定義。

機器人:是自動執行工作的機器裝置,既可以接收人的指揮,又可以執行預先編排得程式,能夠協助人類的工作。

32 人工智慧的定義

研究和發開用於模擬,延伸和擴充套件人智慧的理論,方法,技術的一門技術科學。

33PLC與FPGA的中文名稱。

PLC:可程式設計邏輯控制器

FPGA:可編碼門列陣

34 設計web伺服器;

和客戶交流,確定好需求分析

系統設計:程式設計+前端UI+資料庫設計

35 機器學習?

機器學習,賦予機器學習的能力,一臺機器通過一定數量的訓練,來實現能夠根據已知的資料,來解決未知的事情,根據已知的樣本情況,來實現相應的功能

比如說,十字路口的紅綠燈,可以設計成,將所有通過這個紅綠燈的情況記錄在車的系統中,車不用人控制,遇到一種情況,自己與系統的系統中的所有樣本比對,從而,裝上了機器學習的機器,就會自己做出判斷,選擇如何做出相應的對策。

36 計算機視覺的看法

就是賦予機器具有自然視覺能力的學科把,將影像輸入到計算機中,計算機處理,理解,研究影像資訊,從而對外界做出相應的反應。

37 .什麼是感測網?

我們生活中到處都網路互聯,手機到路由器,路由器到路由器,等等再到手機,而感測網是網際網路是一個部分,它是物聯網的一個很重的模組—感知模組,他從各個節點接收資料,處理後,可以儲存,再匯聚到匯聚節點,匯聚節點通過衛星傳送到伺服器,人們就可以再遠端去監控,或者判斷具體事務的情況啊。

38 蒙特卡洛求不規則圖形面積

比如一張圖,有不規則的圖形,可以用散點法,也就是蒙特卡洛,比如在上面撒芝麻,看看有多少芝麻在圖上,然後找比例求面積

39 複變函式的卷積公式

應該有兩個函式,根據這兩個函式求第三個函式,求這個函式平滑後的面積,也就是求翻轉平移後的面積。

40 傅立葉變換

將一個函式或者一個訊號,看成若干個小訊號或者若干個三角函式疊加,從時域和頻域疊加都可以組成原來的訊號。

41 泰勒公式的展開,n取到多少怎麼確定

展開到直到抵消不了為止

42 什麼是蟻群演算法?

通過正反饋機制尋找最優解,這個最優解是全域性最優解,可以與運籌學結合起來用,比如說TSP(旅行商問題),指派問題

43 空間解析幾何中的四維空間和解析集合講了什麼

我覺得應該有點到體積距離,三位以上的方程把,比如說,二維的圓,三位中球的介面是二維的圓,四位中,四位對應的是珍,

演算法設計與分析

什麼是遞迴演算法

①程式呼叫自身的程式設計技巧稱之為遞迴,通常一個過程或者一個方法在定義或說明中直接呼叫或間接呼叫自身的一種方法。通常,它把一個大型的問題層層化為相類似的並且規模較小的問題求解,遞迴策略只需要較少的程式碼實現就可描述出問題中所需要的多次重複計算,大大減少了程式碼量。

②遞迴函式函式需要設定出口,當遞迴到子問題不能再分解時,就返回。

什麼是分治演算法?

①把一個大問題劃分成K個小問題,如果K個小問題還可以劃分,則再把它們分別劃分成K個更小的問題,直到問題規模足夠小,小到可以直接求解,然後把小問題合併成原問題的解。

②分治演算法要注意:

小問題小到一定規模可以求解

劃分的小問題應該可以合併成原問題的解

劃分的小問題應該具有最優的子結構

劃分的小問題應該相互獨立性

什麼是貪心演算法?

貪心演算法:把大問題拆分成為同類的更加簡單求區域性最優解的問題,貪心問題求解的最終可能是整體的最優解。貪心演算法不適合對所有問題進行求最優解。貪心演算法在每一步上能獲得區域性最優解,但有時產生的不一定是最優的,所以貪心演算法不要回溯。

什麼是回溯演算法?

回溯演算法也叫試探法,它是一種系統地搜尋問題的解的方法。回溯演算法的基本思想是:按照深度優先搜尋的策略,從一條路往前走,能進則則進,不能進則退回來,換一條路往前走。

什麼是分支限界演算法?

分支限界的基本思想,就是對有約束條件的最優化問題的所有可行解空間進搜尋,把全部可行的解空間不斷分割為越來越小的分支,併為每一個分支計算一個界,每次分支的時候,對於不滿足限界函式的分支不予考慮,從而縮小了搜尋範圍。

什麼是動態規劃問題?

動態規劃基本思想是,將原問題分解相類似且規模較小的子問題,在求解過程中,記錄下子問題的解,用子問題的解,一步步求出原問題的解,相比於分治演算法,動態規劃演算法,減少了相同子問題的計算次數。

政治

什麼是核心價值觀?

富強 民主 文明 和諧
自由 平等 公正 法治

愛國 敬業 誠信 友善

什麼是兩學一做?

學黨章黨規,學系列講話,做合格黨員。

什麼是一箇中心,兩個基本點?

以經濟建設為中心,堅持四項基本原則,堅持改革開放。

前沿技術?

5G站點的開發,截止於2020年5月12日,中國已建設站點19.8萬個。

5G可以應用於各行各業,我們也將迎來,智慧城市,車聯網,智慧醫療,以及享受8K視訊體驗

什麼是區塊鏈技術?

區塊鏈技術是在多方無需互信的環境下,通過密碼學技術讓系統中所有參與方協作,來共同記錄維護一個可靠的資料日誌的方式。

什麼是比特幣?

這個就要舉一個粒子,比特幣也是一種貨幣,在這個系統裡面,就好比我現實中,沒有銀行這個系統一樣,每一個網路的節點都負責記錄網上所有的幾張,系統就會獎勵其中記賬最快的節點,獎勵比特幣,所以網上的各個節點通過演算法平計算能裡。

什麼是優先順序反轉?如何解決?

指高優先順序的程式要去訪問一個低優先順序使用的資源,而低優先順序的正在訪問,使得高優先順序的程式就要陷入一種等待與阻塞狀態。
使用優先順序天花板或者優先順序繼承的方法解決。

優先順序天花板:每一個訊號設定一個優先順序天花板,優先順序天花板是指優先順序高於使用該訊號的所有任務,當任務得到該訊號時,將優先順序設定位優先順序天花板的值。

優先順序繼承:當一個任務阻塞了一組任務時,若阻塞任務中存在高優先順序任務,將該任務的優先順序設定位阻塞任務中的最高的優先順序的值。

為什麼要有泰勒展開式?對計算機學科的意義是什麼?

可以使用泰勒展開式的無限個多項式對某個函式求近似,電腦科學中在openCV中進行模擬曲線可以用的到

線性代數中座標變化的意義是什麼?能解決什麼問題?

線性代數可以表示影像中的數值,可以對矩陣進行變化,例如對影像進行二值化,灰度化等。

一個桶裝8斤油,另一個有3斤與5斤桶,怎麼就分成兩桶4斤油?

先將8斤油倒入5斤桶中,此時3 0 5

再將,5斤油倒入3斤油桶中,再將3斤油桶的油倒入第一個桶中,得到了,6 0 2

接著將2倒入3斤油桶中,再將6斤倒入五斤油桶中,就得到了,1 2 5
此時只需要,將5斤倒入一斤3斤桶,合併1,3就可以得到兩個4 斤油了

相關文章