『壹』 什麼是數據的組織方式:數據結構
數據的組織方式是按照一定的方式和規則對數據進行歸並、存儲、處理的過程,一般多用於GIS,即地理信息系統中。
數據結構是計算機存儲、組織數據的方式。數據結構是指相互之間存在一種或多種特定關系的數據元素的集合。通常情況下,精心選擇的數據結構可以帶來更高的運行或者存儲效率。數據結構往往同高效的檢索演算法和索引技術有關。
(1)如何組成數據結構擴展閱讀:
數據結構的研究內容是構造復雜軟體系統的基礎,它的核心技術是分解與抽象。通過分解可以劃分出數據的3個層次;再通過抽象,舍棄數據元素的具體內容,就得到邏輯結構。
一般來說,一種數據結構的邏輯結構根據需要可以表示成多種存儲結構,常用的存儲結構有順序存儲、鏈式存儲、索引存儲和哈希存儲等。
數據的順序存儲結構的特點是藉助元素在存儲器中的相對位置來表示數據元素之間的邏輯關系;非順序存儲的特點是:藉助指示元素存儲地址的指針表示數據元素之間的邏輯關系。
『貳』 數據結構的基本方法是怎樣的。及其基本思想
數據結構是計算機存儲、組織數據的方式。數據結構是指相互之間存在一種或多種特定關系的數據元素的集合。通常情況下,精心選擇的數據結構可以帶來更高的運行或者存儲效率。數據結構往往同高效的檢索演算法和索引技術有關。
演算法的設計取決於數據(邏輯)結構,而演算法的實現依賴於採用的存儲結構。數據的存儲結構實質上是它的邏輯結構在計算機存儲器中的實現,為了全面的反映一個數據的邏輯結構,它在存儲器中的映象包括兩方面內容,即數據元素之間的信息和數據元素之間的關系。不同數據結構有其相應的若干運算。數據的運算是在數據的邏輯結構上定義的操作演算法,如檢索、插入、刪除、更新和排序等。
數據的運算是數據結構的一個重要方面,討論任一種數據結構時都離不開對該結構上的數據運算及其實現演算法的討論。
數據結構不同於數據類型,也不同於數據對象,它不僅要描述數據類型的數據對象,而且要描述數據對象各元素之間的相互關系。
數據類型是一個值的集合和定義在這個值集上的一組操作的總稱。數據類型可分為兩類:原子類型、結構類型。一方面,在程序設計語言中,每一個數據都屬於某種數據類型。類型明顯或隱含地規定了數據的取值范圍、存儲方式以及允許進行的運算。可以認為,數據類型是在程序設計中已經實現了的數據結構。另一方面,在程序設計過程中,當需要引入某種新的數據結構時,總是藉助編程語言所提供的數據類型來描述數據的存儲結構。
計算機中表示數據的最小單位是二進制數的一位,叫做位。我們用一個由若干位組合起來形成的一個位串表示一個數據元素,通常稱這個位串為元素或結點。當數據元素由若干數據項組成時,位串中對應於各個數據項的子位串稱為數據域。元素或結點可看成是數據元素在計算機中的映象。
一個軟體系統框架應建立在數據之上,而不是建立在操作之上。一個含抽象數據類型的軟體模塊應包含定義、表示、實現三個部分。
對每一個數據結構而言,必定存在與它密切相關的一組操作。若操作的種類和數目不同,即使邏輯結構相同,數據結構能起的作用也不同。
不同的數據結構其操作集不同,但下列操作必不可缺:
1,結構的生成;
2.結構的銷毀;
3,在結構中查找滿足規定條件的數據元素;
4,在結構中插入新的數據元素;
5,刪除結構中已經存在的數據元素;
6,遍歷。
抽象數據類型:一個數學模型以及定義在該模型上的一組操作。抽象數據類型實際上就是對該數據結構的定義。因為它定義了一個數據的邏輯結構以及在此結構上的一組演算法。抽象數據類型可用以下三元組表示:(D,S,P)。D是數據對象,S是D上的關系集,P是對D的基本操作集。ADT的定義為:
ADT 抽象數據類型名:{數據對象:(數據元素集合),數據關系:(數據關系二元組結合),基本操作:(操作函數的羅列)}; ADT抽象數據類型名;抽象數據類型有兩個重要特性:
數據抽象
用ADT描述程序處理的實體時,強調的是其本質的特徵、其所能完成的功能以及它和外部用戶的介面(即外界使用它的方法)。
數據封裝
將實體的外部特性和其內部實現細節分離,並且對外部用戶隱藏其內部實現細節。
數據(Data)是信息的載體,它能夠被計算機識別、存儲和加工處理。它是計算機程序加工的原料,應用程序處理各種各樣的數據。計算機科學中,所謂數據就是計算機加工處理的對象,它可以是數值數據,也可以是非數值數據。數值數據是一些整數、實數或復數,主要用於工程計算、科學計算和商務處理等;非數值數據包括字元、文字、圖形、圖像、語音等。數據元素(Data Element)是數據的基本單位。在不同的條件下,數據元素又可稱為元素、結點、頂點、記錄等。例如,學生信息檢索系統中學生信息表中的一個記錄等,都被稱為一個數據元素。
有時,一個數據元素可由若干個數據項(Data Item)組成,例如,學籍管理系統中學生信息表的每一個數據元素就是一個學生記錄。它包括學生的學號、姓名、性別、籍貫、出生年月、成績等數據項。這些數據項可以分為兩種:一種叫做初等項,如學生的性別、籍貫等,這些數據項是在數據處理時不能再分割的最小單位;另一種叫做組合項,如學生的成績,它可以再劃分為數學、物理、化學等更小的項。通常,在解決實際應用問題時是把每個學生記錄當作一個基本單位進行訪問和處理的。
數據對象(Data Object)或數據元素類(Data Element Class)是具有相同性質的數據元素的集合。在某個具體問題中,數據元素都具有相同的性質(元素值不一定相等),屬於同一數據對象(數據元素類),數據元素是數據元素類的一個實例。例如,在交通咨詢系統的交通網中,所有的頂點是一個數據元素類,頂點A和頂點B各自代表一個城市,是該數據元素類中的兩個實例,其數據元素的值分別為A和B。 數據結構(Data Structure)是指互相之間存在著一種或多種關系的數據元素的集合。在任何問題中,數據元素之間都不會是孤立的,在它們之間都存在著這樣或那樣的關系,這種數據元素之間的關系稱為結構。
『叄』 數據結構的基本組成部分是什麼
數據結構分別為邏輯結構、存儲結構(物理結構)和數據的運算.
『肆』 數據結構包括哪幾個方面的內容
數據結構包括數據的邏輯結構、數據的物理結構、數據存儲結構。
1、數據的邏輯結構
指反映數據元素之間的邏輯關系的數據結構,其中的邏輯關系是指數據元素之間的前後件關系,而與他們在計算機中的存儲位置無關。
2、數據的物理結構
數據的物理結構是數據結構在計算機中的表示(又稱映像),它包括數據元素的機內表示和關系的機內表示。由於具體實現的方法有順序、鏈接、索引、散列等多種,所以,一種數據結構可表示成一種或多種存儲結構。
3、數據存儲結構
數據的邏輯結構在計算機存儲空問中的存放形式稱為數據的物理結構(也稱為存儲結構)。一般來說,一種數據結構的邏輯結構根據需要可以表示成多種存儲結構,常用的存儲結構有順序存儲、鏈式存儲、索引存儲和哈希存儲等。
(4)如何組成數據結構擴展閱讀:
數據結構研究的內容:就是如何按一定的邏輯結構,把數據組織起來,並選擇適當的存儲表示方法把邏輯結構組織好的數據存儲到計算機的存儲器里。
研究的目的是為了更有效的處理數據,提高數據運算效率。數據的運算是定義在數據的邏輯結構上,但運算的具體實現要在存儲結構上進行。一般有以下幾種常用運算:
1、檢索。檢索就是在數據結構里查找滿足一定條件的節點。一般是給定一個某欄位的值,找具有該欄位值的節點。
2、插入。往數據結構暈增加新的節點。
3、刪除。把指定的結點從數據結構中去掉。
4、更新。改變指定節點的一個或多個欄位的值。
5、排序。把節點按某種指定的順序重新排列。例如遞增或遞減。
『伍』 數據結構的基本組成部分是什麼
數據結構分別為邏輯結構、存儲結構(物理結構)和數據的運算。
『陸』 數據模型是由哪三個部分組成
數據模型所描述的內容包括三個部分:數據結構、數據操作、數據約束。
1、數據結構
主要描述數據的類型、內容、性質以及數據間的聯系等,是目標類型的集合。目標類型是資料庫的組成成分,一般可分為兩類:數據類型、數據類型之間的聯系。
數據類型如DBTG(資料庫任務組)網狀模型中的記錄型、數據項,關系模型中的關系、域等。聯系部分有DBTG網狀模型中的系型等。數據結構是數據模型的基礎,數據操作和約束都基本建立在數據結構上。不同的數據結構具有不同的操作和約束。
2、數據操作
數據模型中數據操作主要描述在相應的數據結構上的操作類型和操作方式。它是操作算符的集合,包括若干操作和推理規則,用以對目標類型的有效實例所組成的資料庫進行操作。
3、數據約束
數據模型中的數據約束主要描述數據結構內數據間的語法、詞義聯系、他們之間的制約和依存關系,以及數據動態變化的規則,以保證數據的正確、有效和相容。它是完整性規則的集合,用以限定符合數據模型的資料庫狀態,以及狀態的變化。
約束條件可以按不同的原則劃分為數據值的約束和數據間聯系的約束;靜態約束和動態約束;實體約束和實體間的參照約束等。
(6)如何組成數據結構擴展閱讀:
層次類型:
數據模型按不同的應用層次分成三種類型:分別是概念數據模型、邏輯數據模型、物理數據模型。
1、概念模型
概念模型是一種面向用戶、面向客觀世界的模型,主要用來描述世界的概念化結構,它是資料庫的設計人員在設計的初始階段,擺脫計算機系統及DBMS的具體技術問題。
概念模型用於信息世界的建模,一方面應該具有較強的語義表達能力,能夠方便直接表達應用中的各種語義知識,另一方面它還應該簡單、清晰、易於用戶理解。
2、邏輯模型
邏輯模型是一種面向資料庫系統的模型,是具體的DBMS所支持的數據模型,如網狀數據模型(Network Data Model)、層次數據模型(Hierarchical Data Model)等等。此模型既要面向用戶,又要面向系統,主要用於資料庫管理系統(DBMS)的實現。
3、物理模型
物理模型是一種面向計算機物理表示的模型,描述了數據在儲存介質上的組織結構,它不但與具體的DBMS有關,而且還與操作系統和硬體有關。
每一種邏輯數據模型在實現時都有其對應的物理數據模型。DBMS為了保證其獨立性與可移植性,大部分物理數據模型的實現工作由系統自動完成,而設計者只設計索引、聚集等特殊結構。
『柒』 數據結構中結構類型的組成
似乎樓主對於數據結構的理解存在嚴重的誤區。
數據結構是為了使得一些簡單值類型int, char, float等數據能夠組成一個「大型」的結構體並且協同工作而存在的。
翻開數據結構的書,第一章,裡面有提到過:人就是一個比較復雜的結構,不能簡單的用一個int, char類型來表示,人有自己的名字,性別,生日等等屬性,所以用數據結構表示成:
tpyedef struct _PERSON
{
char name[32];//名字
int gender;//性別
int birthday;//生日
...
}PERSON, *LPPERSON;
在程序里的表現是:
LPPERSON p = (LPPERSON)malloc(sizeof(PERSON));
strcpy(p->name, "陳好");
p->gender = 1;//0表示男,1表示女,這個是自己隨便定義的。
p->birthday = MAKELONG(1980, MAKEWORD(7, 20)); //生日 1980.7.20
『捌』 常用數據結構有哪些
數據結構分為8類有:數組、棧、隊列、鏈表、樹、散列表、堆、圖。數據結構是指相互之間存在著一種或多種關系的數據元素的集合和該集合中數據元素之間的關系組成 。
1、數組
數組是可以再內存中連續存儲多個元素的結構,在內存中的分配也是連續的,數組中的元素通過數組下標進行訪問,數組下標從0開始。例如下面這段代碼就是將數組的第一個元素賦值為 1。
2、棧
棧是一種特殊的線性表,僅能在線性表的一端操作,棧頂允許操作,棧底不允許操作。 棧的特點是:先進後出,或者說是後進先出,從棧頂放入元素的操作叫入棧,取出元素叫出棧。
3、隊列
隊列與棧一樣,也是一種線性表,不同的是,隊列可以在一端添加元素,在另一端取出元素,也就是:先進先出。從一端放入元素的操作稱為入隊,取出元素為出隊。
4、鏈表
鏈表是物理存儲單元上非連續的、非順序的存儲結構,數據元素的邏輯順序是通過鏈表的指針地址實現,每個元素包含兩個結點,一個是存儲元素的數據域 (內存空間),另一個是指向下一個結點地址的指針域。根據指針的指向,鏈表能形成不同的結構,例如單鏈表,雙向鏈表,循環鏈表等。
5、樹
樹是一種數據結構,它是由n(n>=1)個有限節點組成一個具有層次關系的集合。把它叫做 「樹」 是因為它看起來像一棵倒掛的樹,也就是說它是根朝上,而葉朝下的。
6、散列表
散列表,也叫哈希表,是根據關鍵碼和值 (key和value) 直接進行訪問的數據結構,通過key和value來映射到集合中的一個位置,這樣就可以很快找到集合中的對應元素。
7、堆
堆是一種比較特殊的數據結構,可以被看做一棵樹的數組對象,具有以下的性質:堆中某個節點的值總是不大於或不小於其父節點的值;堆總是一棵完全二叉樹。將根節點最大的堆叫做最大堆或大根堆,根節點最小的堆叫做最小堆或小根堆。常見的堆有二叉堆、斐波那契堆等。
8、圖
圖是由結點的有窮集合V和邊的集合E組成。其中,為了與樹形結構加以區別,在圖結構中常常將結點稱為頂點,邊是頂點的有序偶對,若兩個頂點之間存在一條邊,就表示這兩個頂點具有相鄰關系。