国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#常用數(shù)據(jù)結(jié)構(gòu)和算法總結(jié)

2019-10-29 21:25:25
字體:
供稿:網(wǎng)友

1.數(shù)據(jù)

  數(shù)據(jù)(Data)是外部世界信息的載體, 是能夠被計算機識別,加工,存儲的。在現(xiàn)實生活中也就是我們的產(chǎn)品原材料。

  計算機中的數(shù)據(jù)包括數(shù)值數(shù)據(jù),圖片,影音資料等.

2. 數(shù)據(jù)元素和數(shù)據(jù)項

  數(shù)據(jù)元素(Data Element)是數(shù)據(jù)的基本單位,在計算機處理的過程中通常是作為一個整體來作為處理的。

  數(shù)據(jù)項(Data Item):一個數(shù)據(jù)元素通常由一個或多個數(shù)據(jù)項組成。

  比如數(shù)據(jù)庫表:(Student),它有Id,Name,Sex,Age,Address等字段,而這張表又有多行數(shù)據(jù)。我們通常將這些字段就叫做數(shù)據(jù)項,每行數(shù)據(jù)

  就叫做數(shù)據(jù)元素。在某些情況下數(shù)據(jù)元素又稱為元素,節(jié)點,紀(jì)錄等。

  數(shù)據(jù)項分為兩種:(1)初等項;(2)組合項[也就是可以分為更小的項,比如人可以再分為歐洲人,亞洲人,非洲人]

3.數(shù)據(jù)結(jié)構(gòu)

  數(shù)據(jù)結(jié)構(gòu)(Data Structure) 是在相互之間存在的一種或多種特定關(guān)系的數(shù)據(jù)元素集合.

  眾所周知,在計算機中任何數(shù)據(jù)元素都不可能是單一或孤立存在的,它們之間都存在著一定的關(guān)系。就和人類體系結(jié)構(gòu)一樣,人不可能是孤立而與外界沒有關(guān)系的。

  數(shù)據(jù)結(jié)構(gòu)分為四種:

  (1)集合[Set]

  (2)線性結(jié)構(gòu)[Linear Structure] (常見的線性結(jié)構(gòu)數(shù)據(jù),數(shù)據(jù)庫存儲數(shù)據(jù))

  (3)樹形結(jié)構(gòu)[Tree Structure]    (樹狀結(jié)構(gòu),就好像人類的繼承關(guān)系,在計算機中xml文件存儲數(shù)據(jù)最為典型)

  (4)圖形結(jié)構(gòu)[Graphic Structure] (圖形結(jié)構(gòu)也是相對比較復(fù)雜的,因為存在多對多的關(guān)系,計算機網(wǎng)絡(luò)拓?fù)?

C#,數(shù)據(jù)結(jié)構(gòu),算法,元素,對象

4.數(shù)據(jù)對象

  數(shù)據(jù)對象(Data Object),性質(zhì)相同的數(shù)據(jù)元素的集合,是數(shù)據(jù)(Data) 的一個子集。{“aa”,"bb","cc","dd"} 我們就可以將其看做是一個數(shù)據(jù)對象,都是字符長度的集合。

5.數(shù)據(jù)類型

  數(shù)據(jù)類型(Data Type) ,從上面的數(shù)據(jù)對象我們可以引申出數(shù)據(jù)類型這個概念,很多時間數(shù)據(jù)類型在C#,Java 等高級程序語言中說的比較多

  數(shù)據(jù)類型分為兩種:

    (1) 非結(jié)構(gòu)的原子類型 (在C#也就是基本數(shù)據(jù)類型,如int,string,long 等)

    (2)結(jié)構(gòu)類型,可以由多個結(jié)構(gòu)類型組成,并可以分解。而結(jié)構(gòu)類型可以包含結(jié)構(gòu)類型和非結(jié)構(gòu)的原子類型

6.算法

  算法: 一系列解決問題的清晰指令,算法代表著用系統(tǒng)的方法描述解決問題的策略機制。

  一個算法的優(yōu)劣可以使用空間復(fù)雜度和時間復(fù)雜度來衡量。其中算法有五個特征:

  (1)有窮性: 算法中每條指令的執(zhí)行次數(shù)有限,執(zhí)行每條指令的時間有限

  (2)確切性: 算法的每一步驟必須有確切的定義

  (3)輸入:    一個算法有0個或多個輸入,以刻畫運算對象的初始情況,所謂0個輸入是指算法本身定除了初始條件

  (4)輸出:   一個算法有一個或多個輸出,以反映對輸入數(shù)據(jù)加工后的結(jié)果。沒有輸出的算法是毫無意義的

  (5)可行性:算法中執(zhí)行的任何計算步都是可以被分解為基本的可執(zhí)行的操作步,即每個計算步都可以在有限時間內(nèi)完成

  算法分類: 基本算法,數(shù)據(jù)結(jié)構(gòu)算法,數(shù)論與代數(shù)算法,計算幾何算法,圖論算法,動態(tài)規(guī)則與數(shù)據(jù)分析,加密算法,排序算法,檢索算法,隨機化算法,并行算法

7. 復(fù)雜度

  算法的復(fù)雜度可以使用 時間復(fù)雜度 和 空間復(fù)雜度 來衡量。

  時間復(fù)雜度:算法的時間復(fù)雜度是指算法需要消耗的時間資源

  空間復(fù)雜度: 算法的空間復(fù)雜度是指算法需要消耗的空間資源

8.數(shù)據(jù)的物理結(jié)構(gòu)

  數(shù)據(jù)的物理結(jié)構(gòu)(Physical Structure) 又稱為 存儲結(jié)構(gòu),是數(shù)據(jù)在計算機中的表示和存儲,包括數(shù)據(jù)元素的表示和存儲以及數(shù)據(jù)元素關(guān)系的表示和存儲。

  數(shù)據(jù)結(jié)構(gòu)存儲分為:(1)順序存儲結(jié)構(gòu).(2)鏈?zhǔn)酱鎯Y(jié)構(gòu)

  順序存儲結(jié)構(gòu):通過數(shù)據(jù)元素在計算機存儲器上的相對位置來表示數(shù)據(jù)元素的邏輯關(guān)系,一般把邏輯相鄰的數(shù)據(jù)元素存儲在物理位置相鄰的存儲單元中。

  C# 中的數(shù)組結(jié)構(gòu)就是典型的順序存儲結(jié)構(gòu)方式。

  鏈?zhǔn)酱鎯Y(jié)構(gòu):相鄰元素不需要在物理存儲位置單元相鄰,它們而是通過存儲相鄰數(shù)據(jù)元素的地址來維護(hù)關(guān)系。地址我們通常稱之為為引用(Reference)

備注:此篇文章只是總結(jié)了數(shù)據(jù)結(jié)構(gòu)方面的一些概念,我們在學(xué)習(xí)編程的時候經(jīng)常說數(shù)據(jù),復(fù)雜度等等這些概念,至于這數(shù)據(jù),復(fù)雜度等等到底是什么東西我們也沒有去研究過,這里總結(jié)了一些知識點可以幫助大家理解這些概念。

以上這篇C#常用數(shù)據(jù)結(jié)構(gòu)和算法總結(jié)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持VEVB武林網(wǎng)。


注:相關(guān)教程知識閱讀請移步到c#教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 东台市| 纳雍县| 万载县| 含山县| 西平县| 黄平县| 蛟河市| 昌乐县| 句容市| 华阴市| 辉南县| 吕梁市| 平顶山市| 阿克苏市| 塔河县| 宜丰县| 中阳县| 呈贡县| 子洲县| 合川市| 莆田市| 深泽县| 洛南县| 沾化县| 肥城市| 安塞县| 屏南县| 霍城县| 彰化市| 巨鹿县| 东宁县| 大理市| 乌兰察布市| 广州市| 思南县| 彭山县| 宁国市| 察隅县| 法库县| 涟源市| 沁水县|