日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【数据结构】之基本概念和术语

發布時間:2024/7/23 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【数据结构】之基本概念和术语 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.1數據結構的基本概念

1.1.1 基本概念和術語

1.數據
數據是信息的載體,是描述客觀事物屬性的數、字符及所有能輸入到計算機中并被計算機程序識別和處理的符號的集合。數據是計算機程序加工的原料。
2.數據元素
數據元素是數據的基本單位,通常作為一個整體進行考慮和處理。一個數據元素可由若干數據項組成,數據項是構成數據元素的不可分割的最小單位。例如,學生記錄就是一個數據元素,它由學號、姓名、性別等數據項組成。
3.數據對象
數據對象是具有相同性質的數據元素的集合,是數據的一個子集。例如,整數數據對象是集合N= {0,±1,±2,…}。
4.數據類型
數據類型是一個值的集合和定義在此集合上的一組操作的總稱。
1)原子類型。其值不可再分的數據類型。
2)結構類型。其值可以再分解為若干成分(分量)的數據類型。
3)抽象數據類型。抽象數據組織及與之相關的操作。
5.數據結構
數據結構是相互之間存在一種或多種特定關系的數據元素的集合。在任何問題中,數據元素都不是孤立存在的,它們之間存在某種關系,這種數據元素相互之間的關系稱為結構(Structure)。
數據結構包括三方面的內容:邏輯結構、存儲結構和數據的運算。
數據的邏輯結構和存儲結構是密不可分的兩個方面,一個算法的設計取決于所選定的邏輯結構,而算法的實現依賴于所采用的存儲結構。

1.1.2數據結構三要素

1.數據的邏輯結構
邏輯結構是指數據元素之間的邏輯關系,即從邏輯關系上描述數據。它與數據的存儲無關,是獨立于計算機的。數據的邏輯結構分為線性結構和非線性結構,線性表是典型的線性結構;集合、樹和圖是典型的非線性結構。數據的邏輯結構分類如圖所示。


集合。 結構中的數據元素之間除“同屬一個集合”外,別無其他關系
線性結構。 結構中的數據元素之間只存在一對一的關系
樹形結構。 結構中的數據元素之間存在一對多的關系
圖狀結構或網狀結構。 結構中的數據元素之間存在多對多的關系

2.數據的存儲結構
存儲結構是指數據結構在計算機中的表示(又稱映像),也稱物理結構。它包括數據元素的表示和關系的表示。數據的存儲結構是用計算機語言實現的邏輯結構,它依賴于計算機語言。數據的存儲結構主要有順序存儲、鏈式存儲、索引存儲和散列存儲。
1)順序存儲。 把邏輯上相鄰的元素存儲在物理位置上也相鄰的存儲單元中,元素之間的關系由存儲單元的鄰接關系來體現。其優點是可以實現隨機存取,每個元素占用最少的存儲空間;缺點是只能使用相鄰的一整塊存儲單元,因此可能產生較多的外部碎片。
2)鏈式存儲。 不要求邏輯上相鄰的元素在物理位置上也相鄰,借助指示元素存儲地址的指針來表示元素之間的邏輯關系。其優點是不會出現碎片現象,能充分利用所有存儲單元;缺點是每個元素因存儲指針而占用額外的存儲空間,且只能實現順序存取。
3)索引存儲。 在存儲元素信息的同時,還建立附加的索引表。索引表中的每項稱為索引項,索引項的一般形式是(關鍵字,地址)。其優點是檢索速度快;缺點是附加的索引表額外占用存儲空間。另外,增加和刪除數據時也要修改索引表,因而會花費較多的時間。
4)散列存儲。 根據元素的關鍵字直接計算出該元素的存儲地址,又稱哈希(Hash)存儲。
其優點是檢索、增加和刪除結點的操作都很快;缺點是若散列函數不好,則可能出現元素存儲單元的沖突,而解決沖突會增加時間和空間開銷。

3.數據的運算
施加在數據上的運算包括運算的定義和實現。運算的定義是針對邏輯結構的,指出運算的功能;運算的實現是針對存儲結構的,指出運算的具體操作步驟。

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的【数据结构】之基本概念和术语的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。