⑴ 數據結構是什麼啊
數據結構是指相互之間存在著一種或多種關系的數據元素的集合和該集合中數據元素之間的關系組成。記為:數據結構Data_Structure=(D,R)其中D是數據元素的集合,R是該集合中所有元素之間的關系的有限集合。
數據結構是在整個計算機科學與技術領域上廣泛被使用的術語。它用來反映一個數據的內部構成,即一個數據由那些成分數據構成,以什麼方式構成,呈什麼結構。
數據結構有邏輯上的數據結構和物理上的數據結構之分。邏輯上的數據結構反映成分數據之間的邏輯關系,而物理上的數據結構反映成分數據在計算機內部的存儲安排。數據結構是數據存在的形式。
數據結構是信息的一種組織方式,其目的是為了提高演算法的效率,它通常與一組演算法的集合相對應,通過這組演算法集合可以對數據結構中的數據進行某種操作。數據結構主要研究數據的各種邏輯結構和存儲結構,以及對數據的各種操作。
因此,主要有三個方面的內容:數據的邏輯結構;數據的物理存儲結構;對數據的操作(或演算法)。通常,演算法的設計取決於數據的邏輯結構,演算法的實現取決於數據的物理存儲結構。
(1)數據可由若干個什麼構成擴展閱讀:
一、數據的邏輯結構:指反映數據元素之間的邏輯關系的數據結構,其中的邏輯關系是指數據元素之間的前後件關系,而與他們在計算機中的存儲位置無關。
邏輯結構包括:
1、集合:數據結構中的元素之間除了「同屬一個集合」 的相互關系外,別無其他關系;
2、線性結構:數據結構中的元素存在一對一的相互關系;
3、樹形結構:數據結構中的元素存在一對多的相互關系;
4、圖形結構:數據結構中的元素存在多對多的相互關系。
二、數據的物理結構:指數據的邏輯結構在計算機存儲空間的存放形式。
數據的物理結構是數據結構在計算機中的表示(又稱映像),它包括數據元素的機內表示和關系的機內表示。
由於具體實現的方法有順序、鏈接、索引、散列等多種,所以,一種數據結構可表示成一種或多種存儲結構。
數據元素的機內表示(映像方法): 用二進制位(bit)的位串表示數據元素。通常稱這種位串為節點(node)。
當數據元素有若干個數據項組成時,位串中與個數據項對應的子位串稱為數據域(data field)。因此,節點是數據元素的機內表示(或機內映像)。
關系的機內表示(映像方法):數據元素之間的關系的機內表示可以分為順序映像和非順序映像,常用兩種存儲結構:順序存儲結構和鏈式存儲結構。
順序映像藉助元素在存儲器中的相對位置來表示數據元素之間的邏輯關系。非順序映像藉助指示元素存儲位置的指針(pointer)來表示數據元素之間的邏輯關系。
三、結構演算法
演算法的設計取決於數據(邏輯)結構,而演算法的實現依賴於採用的存儲結構。數據的存儲結構實質上是它的邏輯結構在計算機存儲器中的實現,為了全面的反映一個數據的邏輯結構,它在存儲器中的映象包括兩方面內容,即數據元素之間的信息和數據元素之間的關系。
不同數據結構有其相應的若干運算。數據的運算是在數據的邏輯結構上定義的操作演算法,如檢索、插入、刪除、更新和排序等。
⑵ 常用數據結構有哪些
數據結構分為8類有:數組、棧、隊列、鏈表、樹、散列表、堆、圖。數據結構是指相互之間存在著一種或多種關系的數據元素的集合和該集合中數據元素之間的關系組成 。
1、數組
數組是可以再內存中連續存儲多個元素的結構,在內存中的分配也是連續的,數組中的元素通過數組下標進行訪問,數組下標從0開始。例如下面這段代碼就是將數組的第一個元素賦值為 1。
2、棧
棧是一種特殊的線性表,僅能在線性表的一端操作,棧頂允許操作,棧底不允許操作。 棧的特點是:先進後出,或者說是後進先出,從棧頂放入元素的操作叫入棧,取出元素叫出棧。
3、隊列
隊列與棧一樣,也是一種線性表,不同的是,隊列可以在一端添加元素,在另一端取出元素,也就是:先進先出。從一端放入元素的操作稱為入隊,取出元素為出隊。
4、鏈表
鏈表是物理存儲單元上非連續的、非順序的存儲結構,數據元素的邏輯順序是通過鏈表的指針地址實現,每個元素包含兩個結點,一個是存儲元素的數據域 (內存空間),另一個是指向下一個結點地址的指針域。根據指針的指向,鏈表能形成不同的結構,例如單鏈表,雙向鏈表,循環鏈表等。
5、樹
樹是一種數據結構,它是由n(n>=1)個有限節點組成一個具有層次關系的集合。把它叫做 「樹」 是因為它看起來像一棵倒掛的樹,也就是說它是根朝上,而葉朝下的。
6、散列表
散列表,也叫哈希表,是根據關鍵碼和值 (key和value) 直接進行訪問的數據結構,通過key和value來映射到集合中的一個位置,這樣就可以很快找到集合中的對應元素。
7、堆
堆是一種比較特殊的數據結構,可以被看做一棵樹的數組對象,具有以下的性質:堆中某個節點的值總是不大於或不小於其父節點的值;堆總是一棵完全二叉樹。將根節點最大的堆叫做最大堆或大根堆,根節點最小的堆叫做最小堆或小根堆。常見的堆有二叉堆、斐波那契堆等。
8、圖
圖是由結點的有窮集合V和邊的集合E組成。其中,為了與樹形結構加以區別,在圖結構中常常將結點稱為頂點,邊是頂點的有序偶對,若兩個頂點之間存在一條邊,就表示這兩個頂點具有相鄰關系。
⑶ 「數據結構」1——基本概念
要說數據結構,就得先來說說什麼是數據
數據:用來描述客觀事物的符號,是計算機中操作的對象,能被計算機識別,並輸入給計算機處理的符號集合。 數據的類型不僅包含整型,實型等數值類型,還包含字元、聲音、圖像、視頻等非數值類型。
比如在我們使用網路搜索內容時,一般會有網頁、MP3、圖片、視頻等內容分類。
換句話說,數據就是符號,而這些符號必須具備兩個前提條件:
對於數值類型,可以進行數值計算,對於字元類型,需要進行非數值處理,向圖像、聲音、視頻等類型禪嘩坦就需要通過編碼等手段處理成字元數據
數據元素:是組成數據且有一定意義的基本單位,在計算機中通常作為整體處理。
比如在人類中,「人」就是數據元素
數據項:一個數據元素可以由若干個數據項賀桐組成。
比如「人」,由眼、耳、鼻、嘴、手、腳等組成。也有姓名、年齡、性別其他數據項。具體由哪些數據項要看當前數據元素和所處的系統而定
數據項是數據不可再分割的最小單位。 在數據結構課程中把數據項定為最小單位是為了助於更好地解決問題。但在真正討論時,數據元素才是數據結構中建立數據模型的起點。好比我們談論蘆虛一部電影時,談論的是電影角色這樣的「數據元素」,而不是針對這個角色的姓名、年齡這樣的「數據項」.(個別情況下除外)
數據對象:是性質相同的數據元素的集合,是數據的子集
所謂的性質相同是指數據元素具有相同數量和類型的數據項,例如「人」都有姓名、年齡、性別等相同的數據項。
數據對象是數據的子集。在實際應用中,處理的數據元素通常具有相同性質,在不產生混淆下,將數據對象簡稱為數據
主角登場
結構。簡單理解就是關系,比如分子結構,就是組成分子的原子之間排列的方式。嚴格來說,結構是指各個 組成部分相互搭配和排列的方式。現實世界中, 不同元素之間不是獨立的,而是存在特定關系,我們將這些關系成為結構。
數據結構:是相互之間存在一種或多種特定關系的數據元素的集合
在計算機中,數據元素並不是獨立,無序的,而是具有內在聯系的數據集合。數據元素之間存在一種或多種特定關系,也就是數據的組織形式。所以為了寫出「好」程序。必須分析待處理對象的特性及各處理對象之間存在的關系。這也是學習研究數據結構的意義所在。
下期預告: 邏輯結構與物理結構
⑷ 根據數據元素之間的關系的不同特性
根據數據陸虧元素之間的關系特性不同,通常將數據的邏輯結構分為線性結構、樹形結構、圖狀結構、集合。
組成:
數據元由對象類、特性和表示三部分組成,其中對象類用於收集和存儲數據的事物,例如,人、井、岩芯、管線、儲罐都是對象類等;特性是用來區別和描述對象的,例如,顏色、性別、年齡、收入、地址、價格等均為特性;數據的表示部分中最為重要的方面是值域,值域是數據元允許(或有效)值的集合。
對於值域,數據元中存在兩種類型的值域,一種是所謂取值是固定的,即取值是可枚舉的,例如,人眼睛顏色這個數據元,其取值可能包括:Brown、Gray、Green、Hazel、Blue,另一種是概括的,即數據元取值是有定義域約束的,其取值可能是有限的,但是無法列出全部值,例如人的年齡,其取值范圍可能是1-200,並且每位要求是十進製表示。
⑸ 數據元素是數據的基本單位,數據元素可以由數據線組成,數據項是數據的的最小單位。這句話對嗎
不對,數據元素由若干個數據項組成
⑹ 資料庫系統由哪幾個部分組成
資料庫系統一般由資料庫、硬體、軟體、人員4個部分組成:
1、資料庫是指長期存儲在計算機內的,有組織,可共享的數據的集合。資料庫中的數據按一定的數學模型組織、描述和存儲,具有較小的冗餘,較高的數據獨立性和易擴展性,並可為各種用戶共享。
2、硬體是構成計算機系統的各種物理設備,包括存儲所需的外部設備。硬體的配置應滿足整個資料庫系統的需要。
3、軟體包括操作系統、資料庫管理系統及應用程序。資料庫管理系統是資料庫系統的核心軟體,是在操作系統的支持下工作,解決如何科學地組織和存儲數據,如何高效獲取和維護數據的系統軟體。
4、人員主要有4類。系統分析員和資料庫設計人員,負責應用系統的需求分析和規范說明;應用程序員,負責編寫使用資料庫的應用程序。
對資料庫系統的基本要求是:
①能夠保證數據的獨立性。數據和程序相互獨立有利於加快軟體開發速度,節省開發費用。
②冗餘數據少,數據共享程度高。
③系統的用戶介面簡單,用戶容易掌握,使用方便。
④能夠確保系統運行可靠,出現故障時能迅速排除;能夠保護數據不受者訪問或破壞;能夠防止錯誤數據的產生,一旦產生也能及時發現。
性能
①能夠保證數據的獨立性。數據和程序相互獨立有利於加快軟體開發速度,節省開發費用。
②冗餘數據少,數據共享程度高。
③系統的用戶介面簡單,用戶容易掌握,使用方便。
④能夠確保系統運行可靠,出現故障時能迅速排除;能夠保護數據不受非受權者訪問或破壞;能夠防止錯誤數據的產生,一旦產生也能及時發現。
⑤有重新組織數據的能力,能改變數據的存儲結構或數據存儲位置,以適應用戶操作特性的變化,改善由於頻繁插入、刪除操作造成的數據組織零亂和時空性能變壞的狀況。