亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C#數據結構與算法揭秘一

2020-01-24 03:40:03
字體:
來源:轉載
供稿:網友

這里,我們 來說一說C#的數據結構了。

①什么是數據結構。數據結構,字面意思就是研究數據的方法,就是研究數據如何在程序中組織的一種方法。數據結構就是相互之間存在一種或多種特定關系的數據元素的集合。 程序界有一點很經典的話,程序設計=數據結構+算法。用源代碼來體現,數據結構,就是編程。他有哪些具體的關系了,

(1) 集合(Set):如圖 1.1(a)所示,該結構中的數據元素除了存在“同屬于一個集合”的關系外,不存在任何其它關系。 集合與數學的集合類似,有無序性,唯一性,確定性。

(2) 線性結構(Linear Structure):如圖 1.1(b)所示,該結構中的數據元素存在著一對一的關系。我們.net程序員做的最多的工作就是對數據庫的表crud,二表的最小的數據單元是行。每行數據是最明顯的線性結構。 
(3) 樹形結構(Tree Structure):如圖 1.1(c)所示,該結構中的數據元素存在著一對多的關系。現實中,家族關系中是最明顯的樹形結構。如圖所示

而對于我們.net程序員來說,操作的樹形控件是也是最明顯的樹形結構


(4) 圖狀結構(Graphic Structure):如圖 1.1(d)所示,該結構中的數據元素存在著多對多的關系。在現實中,圖應用的太多了,如圖所示:

對于我們。net程序員應用的較少,當你用C++作一些底層應用,如搜索引擎,地圖導航應用的蠻多的。

以上是針對數據結構的介紹。

做過開發的人員都知道這個道理,算法與數據結構和程序的關系非常密切。 進行程序設計時,先確定相應的數據結構,然后再根據數據結構和問題的需要設計相應的算法。

②那什么是算法了?算法,就是計算的方法了,就是解決問題的方案,就是對某一特定類型的問題的求解步驟的一種描述, 是指令的有限序列。 用源代碼體現,算法就是編程的體現。一個算法應該具備以下 5個特性:

1、有窮性(Finity):一個算法總是在執行有窮步之后結束,即算法的執行時間是有限的。我們初學.net時候,經常寫著死循環,這不是算法,因為這是無窮的。 
2、確定性(Unambiguousness):算法的每一個步驟都必須有確切的含義,即無二義,并且對于相同的輸入只能有相同的輸出。對于我們.net程序員寫出二義性的源代碼,編譯器根本讓你通不過。 
3、輸入(Input):一個算法具有零個或多個輸入。它即是在算法開始之前給出的數據結構這些輸入是某數據結構中的數據對象。編程是解決問題的,如果不能輸入的話,怎么解決問題了。 
4、 輸出(Output):一個算法具有一個或多個輸出,并且這些輸出與輸入之間存在著某種特定的關系。 編程就是解決了生活中問題,你不讓用戶看到最后的結果,這就失去了編程的意義。
5、 能行性(realizability):算法中的每一步都可以通過已經實現的基本運算的有限次運行來實現。這與有窮性息息相關。

那算法的評價標準又是什么了?

評價一個算法優劣的主要標準如下:1、 正確性(Correctness)。2、可讀性(Readability)3、健壯性(Robustness)。4、運行時間(Running Time)。5、占用空間(Storage Space)。

前3個性質,我們很好拿捏。與我們程序員息息相關的是運行時間與占用空間。然而,隨著硬件越來越便宜,面對占用空間,我們無非增加硬件。面對海量數據,我們尤為關心是運行時間(Running Time)。這此時的計算機的運行時間由以下因素決定:

1、硬件條件。包括所使用的處理器的類型和速度(比如,使用雙核處理器還是單核處理器) 、可使用的內存(緩存和 RAM)以及可使用的外存等。
2、實現算法所使用的計算機語言。實現算法的語言級別越高,其執行效率相對越低。
3、所使用的語言的編譯器/解釋器。一般而言,編譯的執行效率高于解釋,但解釋具有更大的靈活性。
4、所使用的操作系統軟件。操作系統的功能主要是管理計算機系統的軟件和硬件資源,為計算機用戶方便使用計算機提供一個接口。各種語言處理程序如編譯程序、解釋程序等和應用程序都在操作系統的控制下運行。

 評價運行時間就是一個算法時間復雜度,  一個算法的時間復雜度(Time Complexity)是指該算法的運行時間與問題規模的對應關系。

算法中的基本操作一般是指算法中最深層循環內的語句,因此,算法中基本操作語句的頻度是問題規模n的某個函數f(n),記作:T(n)=O(f(n))。其中“O”表示隨問題規模n的增大,算法執行時間的增長率和f(n)的增長率相同,或者說,用“O”符號表示數量級的概念。  這些 都只是一些理論的概念,我們這里用計時器來證明這個理論概念。

如:

①x=n; /*n>1*/
y=0;
while(y < x)
{
y=y+1; ①
}

從理論上分析這是一重循環的程序,while 循環的循環次數為 n,所以,該程序段中語句①的頻度是 n,則程序段的時間復雜度是 T(n)=O(n) 。

從程序上驗證,當n=10時,運行結果如圖所示:

當n=100000時,運行結果如圖所示

由此證明,其中算法的時間復雜度確實是接近于O(n)

for(i=1;i<n;++i) {
for(j=0;j<n;++j)
{
A[i][j]=i*j; ①
}
}

理論上解釋為這是二重循環的程序,外層for循環的循環次數是n,內層for循環的循環次數為n,所以,該程序段中語句①的頻度為n*n,則程序段的時間復雜度
為T(n)=O(n²) 。

從程序上證明,當n=10,其運行效果如圖所示:

當n=100000,其運行效果如圖所示:

由此證明,其中算法的時間復雜度確實是接近于O(n²)

③x=n; /*n>1*/
y=0;
while(x >= (y+1)*(y+1))
{
y=y+1; ①
}

這是一重循環的程序,while 循環的循環次數為 n,所以,該程序段中語句①的頻度是 n,則程序段的時間復雜度是 T(n)=O(√n) 。

從程序證明:當n=10時,運行效果如圖所示:

當n=100000時,運行效果如圖所示:

由此證明,其中算法的時間復雜度確實是接近于O(√n)

本文一介紹了數據結構的基本概念 而介紹了算法的基本概念,并且重點討論了算法時間復雜度,并且用程序予以證明。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品第一页| 欧美日韩ab片| 成人在线精品视频| 国产精品成人品| 国产在线观看91精品一区| 一本大道久久加勒比香蕉| 精品中文字幕在线观看| 亚洲激情免费观看| 久热精品视频在线观看一区| 久久高清视频免费| 萌白酱国产一区二区| 欧美性猛交xxxx免费看漫画| 成人在线视频网站| 日本久久久久久| 国产ts人妖一区二区三区| 亚洲的天堂在线中文字幕| 欧美成人精品一区二区| 欧美黑人一区二区三区| 久久久久久999| 亚洲韩国青草视频| 国产日产欧美a一级在线| 日韩成人久久久| 国产精品久久久久77777| 欧美大胆在线视频| 精品国内亚洲在观看18黄| 国产精品观看在线亚洲人成网| 国内精品久久久久| 黑人巨大精品欧美一区免费视频| 久久五月天综合| 欧美成人手机在线| 91午夜理伦私人影院| 亚洲国模精品一区| 欧美一区二粉嫩精品国产一线天| 亚洲最大福利网站| 高清一区二区三区日本久| 欧美一级成年大片在线观看| 91精品国产91久久久久久| 久久精品国产96久久久香蕉| 欲色天天网综合久久| 国产中文字幕91| 久久视频在线视频| 亚洲精品国产精品自产a区红杏吧| 2019最新中文字幕| 亚洲成人在线视频播放| 欧美在线视频免费播放| 亚洲一区二区免费| 91久久久久久国产精品| 国产精品a久久久久久| 成人黄色免费网站在线观看| 日韩av在线免播放器| 国产欧美一区二区三区在线| 日韩精品电影网| 国产精品视频久久久| 欧美在线视频网站| 中文字幕自拍vr一区二区三区| 91欧美视频网站| 日韩国产欧美精品一区二区三区| 亚洲欧美色图片| 久久精品99久久久久久久久| 九九热r在线视频精品| 欧美日韩中文字幕综合视频| 国产精品视频自拍| 亚洲欧美在线第一页| 亚洲一区二区三区视频播放| 精品一区二区三区电影| 91久久久国产精品| 久久久国产一区二区三区| 疯狂做受xxxx高潮欧美日本| 92国产精品久久久久首页| 91精品免费视频| 日韩成人在线视频网站| 最新亚洲国产精品| 欧美乱大交xxxxx| 日韩成人在线视频网站| …久久精品99久久香蕉国产| 亚洲电影免费观看高清完整版在线| 久久精品国产亚洲一区二区| 欧美日韩在线视频一区二区| 68精品久久久久久欧美| 国产精品久久久久av| 亚洲欧美成人一区二区在线电影| 亚洲国产私拍精品国模在线观看| 国产伦精品一区二区三区精品视频| 久久久伊人欧美| 日韩福利视频在线观看| 国产中文字幕91| 国产精品精品视频一区二区三区| 亚洲成人在线视频播放| 国产精品高潮在线| 色与欲影视天天看综合网| 精品久久久香蕉免费精品视频| 亚洲人成毛片在线播放| 亚洲日韩中文字幕在线播放| 日产精品久久久一区二区福利| 日韩av中文字幕在线播放| 91精品国产91久久久久久吃药| 国产精品午夜国产小视频| 国产精品久久久久av| 最近免费中文字幕视频2019| 亚洲天堂开心观看| 国产一区二区三区久久精品| 欧美日韩国产专区| 亚洲高清不卡av| 欧美电影在线免费观看网站| 久久久久久国产精品三级玉女聊斋| 一区二区三区视频观看| 国产中文字幕亚洲| 国产精品日韩欧美| 2019中文字幕在线免费观看| 欧美日韩亚洲网| 欧美激情视频一区二区三区不卡| 国产一区二区三区视频免费| 亚洲视频在线观看网站| 欧美日韩美女在线| 在线激情影院一区| 亚洲精品美女久久久久| 成人欧美在线观看| 欧美极品少妇全裸体| 正在播放亚洲1区| 色婷婷av一区二区三区在线观看| 国产精品中文在线| xxx欧美精品| 国产成人精品久久久| 亚洲精品久久久一区二区三区| 国产久一一精品| 成人av在线网址| 777777777亚洲妇女| 欧美激情视频免费观看| 2019精品视频| 97av在线视频免费播放| 欧美成人一二三| 亚洲最大成人在线| 亚洲精品国产精品乱码不99按摩| 欧美日韩国产一中文字不卡| 26uuu亚洲国产精品| 国产精品久久9| 成人免费视频在线观看超级碰| 欧美精品成人91久久久久久久| 亚洲第一精品自拍| 国产成人精品视频| 91国产精品电影| 国产欧美日韩精品专区| 91久久国产精品91久久性色| 国产成人鲁鲁免费视频a| 欧美大尺度激情区在线播放| 亚洲精品视频免费在线观看| 91国内免费在线视频| 亚洲视频在线免费看| 国产丝袜一区二区三区免费视频| 黑人狂躁日本妞一区二区三区| 欧美极品在线视频| 中文字幕亚洲一区二区三区五十路| 久久综合久久八八| 日韩av网站大全| 日韩欧美高清视频| 久久久久久久久久久久久久久久久久av| 久久中文久久字幕| 亚洲二区在线播放视频| 国产成人啪精品视频免费网| 久久亚洲影音av资源网| 亚洲午夜未满十八勿入免费观看全集| 日韩经典中文字幕| 91亚洲精品久久久久久久久久久久| 一本大道久久加勒比香蕉|