A. 大學里的計算機網路需要用數學嗎
計算機網路,專業課是不太用到數學。
但你要考自考,計算機網路是理工科的專業,所以高等數學是必考的科目。
你不僅要學數學,而且要學好。因為理工科的數學,比文科的還要難
是的,如果考計算機相關專業的話,數學是必考的
B. 計算機網路的最短路徑演算法有哪些對應哪些協議
用於解決最短路徑問題的演算法被稱做「最短路徑演算法」,有時被簡稱作「路徑演算法」。最常用的路徑演算法有:
Dijkstra演算法、A*演算法、SPFA演算法、Bellman-Ford演算法和Floyd-Warshall演算法,本文主要介紹其中的三種。
最短路徑問題是圖論研究中的一個經典演算法問題,旨在尋找圖(由結點和路徑組成的)中兩結點之間的最短路徑。
演算法具體的形式包括:
確定起點的最短路徑問題:即已知起始結點,求最短路徑的問題。
確定終點的最短路徑問題:與確定起點的問題相反,該問題是已知終結結點,求最短路徑的問題。在無向圖中該問題與確定起點的問題完全等同,在有向圖中該問題等同於把所有路徑方向反轉的確定起點的問題。
確定起點終點的最短路徑問題:即已知起點和終點,求兩結點之間的最短路徑。
全局最短路徑問題:求圖中所有的最短路徑。
Floyd
求多源、無負權邊的最短路。用矩陣記錄圖。時效性較差,時間復雜度O(V^3)。
Floyd-Warshall演算法(Floyd-Warshall algorithm)是解決任意兩點間的最短路徑的一種演算法,可以正確處理有向圖或負權的最短路徑問題。
Floyd-Warshall演算法的時間復雜度為O(N^3),空間復雜度為O(N^2)。
Floyd-Warshall的原理是動態規劃:
設Di,j,k為從i到j的只以(1..k)集合中的節點為中間節點的最短路徑的長度。
若最短路徑經過點k,則Di,j,k = Di,k,k-1 + Dk,j,k-1;
若最短路徑不經過點k,則Di,j,k = Di,j,k-1。
因此,Di,j,k = min(Di,k,k-1 + Dk,j,k-1 , Di,j,k-1)。
在實際演算法中,為了節約空間,可以直接在原來空間上進行迭代,這樣空間可降至二維。
Floyd-Warshall演算法的描述如下:
for k ← 1 to n do
for i ← 1 to n do
for j ← 1 to n do
if (Di,k + Dk,j < Di,j) then
Di,j ← Di,k + Dk,j;
其中Di,j表示由點i到點j的代價,當Di,j為 ∞ 表示兩點之間沒有任何連接。
Dijkstra
求單源、無負權的最短路。時效性較好,時間復雜度為O(V*V+E),可以用優先隊列進行優化,優化後時間復雜度變為0(v*lgn)。
源點可達的話,O(V*lgV+E*lgV)=>O(E*lgV)。
當是稀疏圖的情況時,此時E=V*V/lgV,所以演算法的時間復雜度可為O(V^2) 。可以用優先隊列進行優化,優化後時間復雜度變為0(v*lgn)。
Bellman-Ford
求單源最短路,可以判斷有無負權迴路(若有,則不存在最短路),時效性較好,時間復雜度O(VE)。
Bellman-Ford演算法是求解單源最短路徑問題的一種演算法。
單源點的最短路徑問題是指:給定一個加權有向圖G和源點s,對於圖G中的任意一點v,求從s到v的最短路徑。
與Dijkstra演算法不同的是,在Bellman-Ford演算法中,邊的權值可以為負數。設想從我們可以從圖中找到一個環
路(即從v出發,經過若干個點之後又回到v)且這個環路中所有邊的權值之和為負。那麼通過這個環路,環路中任意兩點的最短路徑就可以無窮小下去。如果不處理這個負環路,程序就會永遠運行下去。 而Bellman-Ford演算法具有分辨這種負環路的能力。
SPFA
是Bellman-Ford的隊列優化,時效性相對好,時間復雜度O(kE)。(k< 與Bellman-ford演算法類似,SPFA演算法採用一系列的鬆弛操作以得到從某一個節點出發到達圖中其它所有節點的最短路徑。所不同的是,SPFA演算法通過維護一個隊列,使得一個節點的當前最短路徑被更新之後沒有必要立刻去更新其他的節點,從而大大減少了重復的操作次數。
SPFA演算法可以用於存在負數邊權的圖,這與dijkstra演算法是不同的。
與Dijkstra演算法與Bellman-ford演算法都不同,SPFA的演算法時間效率是不穩定的,即它對於不同的圖所需要的時間有很大的差別。
在最好情形下,每一個節點都只入隊一次,則演算法實際上變為廣度優先遍歷,其時間復雜度僅為O(E)。另一方面,存在這樣的例子,使得每一個節點都被入隊(V-1)次,此時演算法退化為Bellman-ford演算法,其時間復雜度為O(VE)。
SPFA演算法在負邊權圖上可以完全取代Bellman-ford演算法,另外在稀疏圖中也表現良好。但是在非負邊權圖中,為了避免最壞情況的出現,通常使用效率更加穩定的Dijkstra演算法,以及它的使用堆優化的版本。通常的SPFA。
C. 認識一下網路拓撲,幾張圖片幾條線。
網路拓撲,不就是網路和拓撲組合在一起的新名詞嗎。這樣理解很有道理,網路很好理解,關鍵是這個拓撲,首先來了解一下什麼是拓撲。
拓撲是研究幾何圖形或空間在連續改變形狀後還能保持不變的一些性質的一個學科。是一種不考慮物體的大小、形狀等物理屬性,而僅僅使用點或者線描述多個物體實際位置與關系的抽象表示方法。拓撲不關心事物的細節,也不在乎相互的比例關系,而只是以圖的形式表示一定范圍內多個物體之間的相互關系。
拓撲英文名是Topology,直譯是地誌學,最早指研究地形、地貌相類似的有關學科。幾何拓撲學是十九世紀形成的一門數學分支,它屬於幾何學的范疇。有關拓撲學的一些內容早在十八世紀就出現了。那時候發現的一些孤立的問題,在後來的拓撲學的形成中占著重要的地位。
"拓撲"是一個外來詞,中國人把Topo譯為「拓撲」!誰?江澤涵先生是也!
江澤涵(1902-1994年),安徽旌德人,1926年畢業於南開大學數學系教授,1955年當選為中國科學院數理學部委員。他是把拓撲學引入中國的第一人,他出版的《拓撲學引論》是中國人編寫的第一部拓撲學教材。
譯Topo為拓撲,音義兼顧,形神俱備———「拓」者,對土地之開發也,「撲」者,全面覆蓋也。
網路拓撲(Network Topology)結構是指用傳輸介質互連各種設備的物理布局。指構成網路的成員間特定的物理的即真實的、或者邏輯的即虛擬的排列方式。如果兩個網路的連接結構相同我們就說它們的網路拓撲相同,盡管它們各自內部的物理接線、節點間距離可能會有不同。
在實際生活中,計算機與網路設備要實現互聯,就必須使用一定的組織結構進行連接,這種組織結構就叫做「拓撲結構」。網路拓撲結構形象地描述了網路的安排和配置方式,以及各節點之間的相互關系,通俗地說,「拓撲結構」就是指這些計算機與通訊設備是如何連接在一起的。
研究網路和它的線圖的拓撲性質的理論,又稱網路圖論。拓撲是指幾何體的一種接觸關系或連接關系;當幾何體發生連續塑性變形時,它的接觸關系會保持不變。用節點和支路組成的線圖表示的網路結構也具有這種性質。
網路拓樸的早期研究始於1736年瑞士數學家L.歐拉發表的關於柯尼斯堡橋問題的論文。1845年和1847年,G.R.基爾霍夫發表的兩篇論文為網路奠定了基礎。
在設計網路拓撲結構時,我們經常會遇到如「節點」、「結點」、」鏈路」和「通路」這四個術語。它們到底各自代表什麼,它們之間又有什麼關系呢?
(1) 節點
一個「節點」其實就是一個網路埠。節點又分為「轉節點」和「訪問節點」兩類。「轉節點」的作用是支持網路的連接,它通過通信線路轉接和傳遞信息,如交換機、網關、路由器、防火牆設備的各個[網路埠]等;而「訪問節點」是信息交換的源點和目標點,通常是用戶計算機上的網卡介面。如我們在設計一個網路系統時,通常所說的共有××個節點,其實就是在網路中有多個要配置IP地址的網路埠。
(2)結點
一個「結點」是指一台網路設備,因為它們通常連接了多個「節點」,所以稱之為「結點」。在計算機網路中的結點又分為鏈路結點和路由結點,它們就分別對應的是網路中的交換機和路由器。從網路中的結點數多少就可以大概知道你的計算機網路規模和基本結構了。
(3)鏈路
「鏈路」是兩個節點間的線路。鏈路分物理鏈路和邏輯鏈路(或稱數據鏈路)兩種,前者是指實際存在的通信線路,由設備網路埠和傳輸介質連接實現;後者是指在邏輯上起作用的網路通路,由計算機網路體系結構中的數據鏈路層標准和協議來實現。如果鏈路層協議沒有起作用,數據鏈路也就無法建立起來。
(4)通路
「通路」從發出信息的節點到接收信息的節點之間的一串節點和鏈路的組合。也就是說,它是一系列穿越通信網路而建立起來的節點到節點的鏈路串連。它與「鏈路」的區別主要在於一條「通路」中可能包括多條「鏈路」。
星形拓撲結構的主要優點有:
1.結構簡單,容易管理維護;
2.重新配置靈活;
3.方便故障檢測與隔離;
4.控制簡單,便於建網;
5.網路延遲時間較小,傳輸誤差較低;
星形拓撲結構的主要缺點有:
1.成本高、可靠性較低;
優點是由於每個節點都同時與兩個方向的各一個節點相連接,此路不通彼路通,因此環狀拓撲具有天然的容錯性。缺點是由於存在來自兩個方向的數據流,因此必須對這兩個方向加以區分,或者進行限制,以避免無法區分的冗餘數據流對正常通信的干擾。管理和維護比較復雜。
優點是結構簡單,可擴充性好。缺點是維護難、單點的結構可能會影響全網路。
D. 建立計算機網路的主要目的是實現計算機資源的共享。計算機資源主要是指計算機
計算機資源主要包括硬體和軟體兩個方面:
硬體資源包括計算機的各種物理設備,例如中央處理告皮咐器(CPU)、內存、硬碟等。這些設備共同組成了計算機的物理結構,提供了計算和存儲數據的能力。
軟體資源則是指計算機所運行的程序和應用,包括操作系統、資料庫管理系統、辦公軟體、瀏覽器等等。這些軟體資源可以幫助用戶完成各種任務,例如文字處理、圖像編輯、網頁瀏覽、數據分析等等。
4、計算機網襪純絡:了解計算機網路的基本原理和協議,如TCP/IP、HTTP等。
5、資料庫:了解資料庫的基本概念和使用方法,如SQL語句、關系型資料庫等。
6、前沿技術:了解當前流行的技術,如人工智慧、大數據、區塊鏈等。