1. 什麼是數據的存儲結構
(32)[答案]B[考點]數據結構與演算法[評析]這是個基本概念題。存儲空間量只是數據的存儲結構的一個屬性,答案C也太片面,比如鏈表也是種存儲方式,而非線性的還有樹、圖……我們所學的數據結構不涉及到數據在計算機外存(比如硬碟、軟盤)具體的
2. 什麼是「數據存儲結構」
向上 向下
指針 數據位 指針
---- ------ -----
數據存儲結構
數據結構(data structure):
是相互之間存在一種或多種特定關系的數據元素的集合。數據結構是一個二元組,記為:
data_structure=(D,S).其中D為數據元素的集合,S是D上關系的集合。
數據元素相互之間的關系稱為結構(structure)。根據數據元素之間關系的不同特性,通常由下列四類基本結構:
(1)集合:數據元素間的關系是同屬一個集合。
(2)線性結構:數據元素間存在一對一的關系。
(3)樹形結構:結構中的元素間的關系是一對多的關系。
(4)圖(網)狀結構:結構中的元素間的關系是多對多的關系。
3. 現代資料庫中最常用的數據存儲結構是什麼
目前是最常用的四類資料庫是:
關系型資料庫,是按鏈表或是順序結果進行存儲的.
樹型資料庫,是按樹型結構進行存儲的.
網狀資料庫,是按圖結構進行存儲的
對象資料庫,是按順序結構或是鏈表結構下的塊方式進行存儲的!每一個對象存儲在一個單獨的塊單元中.
目前最常用的是關系型與對象資料庫.
刪除學生表中所有男生信息.
查詢學生表中所有總分大於85的學生的姓名與總分.
4. 計算機有哪些存儲結構
在計算機中存儲和組織數據的方式被稱之為數據結構,鏈表和數組是較為常見的兩種結構。
1、數組
數組就像一個個緊挨著的小格子,每一個格子都有它們自己的序號,這個序號被稱之為「索引」。與生活中不太相同的是,平時計數習慣以「1」開始,而在計算機中,「0」是開頭的第一個數字。
數組中的數據,在計算機的存儲器中,也是按順序存儲在連續的位置中。當我們尋找需要的數據時,通過格子中的索引,便可以找到數據。
2、鏈表
鏈表的存儲方式有些像地址和住宅的關系,地址可以寫在一張紙上,但是這並不代表住宅也緊密相鄰。鏈表中的數據在計算機中也是分散地存儲在各個地方,但是鏈表裡面除了存儲數據,還存儲了下一個數據的地址,以便於找到下一個數據。
與數組不同的是,鏈表儲存數據不像數組一樣,需要提前設定大小,就像火車的車廂長度是隨著乘客的數量而增加的。
(4)數據的存儲結構有哪些擴展閱讀
數據的鏈式存儲結構可用鏈接表來表示。
其中data表示值域,用來存儲節點的數值部分。Pl,p2,…,Pill(1n≥1)均為指針域,每個指針域為其對應的後繼元素或前驅元素所在結點(以後簡稱為後繼結點或前驅結點)的存儲位置。
通過結點的指針域(又稱為鏈域)可以訪問到對應的後繼結點或前驅結點,若一個結點中的某個指針域不需要指向其他結點,則令它的值為空(NULL)。
在數據的順序存儲中,由於每個元素的存儲位置都可以通過簡單計算得到,所以訪問元素的時間都相同;而在數據的鏈接存儲中。
由於每個元素的存儲位置保存在它的前驅或後繼結點中,所以只有當訪問到其前驅結點或後繼結點後才能夠按指針訪問到,訪問任一元素的時間與該元素結點在鏈式存儲結構中的位置有關。
5. 常用數據結構有哪些
數據結構分為8類有:數組、棧、隊列、鏈表、樹、散列表、堆、圖。數據結構是指相互之間存在著一種或多種關系的數據元素的集合和該集合中數據元素之間的關系組成 。
1、數組
數組是可以再內存中連續存儲多個元素的結構,在內存中的分配也是連續的,數組中的元素通過數組下標進行訪問,數組下標從0開始。例如下面這段代碼就是將數組的第一個元素賦值為 1。
2、棧
棧是一種特殊的線性表,僅能在線性表的一端操作,棧頂允許操作,棧底不允許操作。 棧的特點是:先進後出,或者說是後進先出,從棧頂放入元素的操作叫入棧,取出元素叫出棧。
3、隊列
隊列與棧一樣,也是一種線性表,不同的是,隊列可以在一端添加元素,在另一端取出元素,也就是:先進先出。從一端放入元素的操作稱為入隊,取出元素為出隊。
4、鏈表
鏈表是物理存儲單元上非連續的、非順序的存儲結構,數據元素的邏輯順序是通過鏈表的指針地址實現,每個元素包含兩個結點,一個是存儲元素的數據域 (內存空間),另一個是指向下一個結點地址的指針域。根據指針的指向,鏈表能形成不同的結構,例如單鏈表,雙向鏈表,循環鏈表等。
5、樹
樹是一種數據結構,它是由n(n>=1)個有限節點組成一個具有層次關系的集合。把它叫做 「樹」 是因為它看起來像一棵倒掛的樹,也就是說它是根朝上,而葉朝下的。
6、散列表
散列表,也叫哈希表,是根據關鍵碼和值 (key和value) 直接進行訪問的數據結構,通過key和value來映射到集合中的一個位置,這樣就可以很快找到集合中的對應元素。
7、堆
堆是一種比較特殊的數據結構,可以被看做一棵樹的數組對象,具有以下的性質:堆中某個節點的值總是不大於或不小於其父節點的值;堆總是一棵完全二叉樹。將根節點最大的堆叫做最大堆或大根堆,根節點最小的堆叫做最小堆或小根堆。常見的堆有二叉堆、斐波那契堆等。
8、圖
圖是由結點的有窮集合V和邊的集合E組成。其中,為了與樹形結構加以區別,在圖結構中常常將結點稱為頂點,邊是頂點的有序偶對,若兩個頂點之間存在一條邊,就表示這兩個頂點具有相鄰關系。
6. 數據結構都有哪些結構
常用數據結構
數組
(Array)
在程序設計中,為了處理方便,
把具有相同類型的若干變數按有序的形式組織起來。這些按序排列的同類數據元素的集合稱為數組。在C語言中,
數組屬於構造數據類型。一個數組可以分解為多個數組元素,這些數組元素可以是基本數據類型或是構造類型。因此按數組元素的類型不同,數組又可分為數值數組、字元數組、指針數組、結構數組等各種類別。
棧
(Stack)
是只能在某一端插入和刪除的特殊線性表。它按照後進先出的原則存儲數據,先進入的數據被壓入棧底,最後的數據在棧頂,需要讀數據的時候從棧頂開始彈出數據(最後一個數據被第一個讀出來)。
隊列
(Queue)
一種特殊的線性表,它只允許在表的前端(front)進行刪除操作,而在表的後端(rear)進行插入操作。進行插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。隊列中沒有元素時,稱為空隊列。
鏈表
(Linked
List)
是一種物理存儲單元上非連續、非順序的存儲結構,數據元素的邏輯順序是通過鏈表中的指針鏈接次序實現的。鏈表由一系列結點(鏈表中每一個元素稱為結點)組成,結點可以在運行時動態生成。每個結點包括兩個部分:一個是存儲數據元素的數據域,另一個是存儲下一個結點地址的指針域。
樹
(Tree)
是包含n(n>0)個結點的有窮集合K,且在K中定義了一個關系N,N滿足
以下條件:
(1)有且僅有一個結點
k0,他對於關系N來說沒有前驅,稱K0為樹的根結點。簡稱為根(root)。
(2)除K0外,k中的每個結點,對於關系N來說有且僅有一個前驅。
(3)K中各結點,對關系N來說可以有m個後繼(m>=0)。
圖
(Graph)
圖是由結點的有窮集合V和邊的集合E組成。其中,為了與樹形結構加以區別,在圖結構中常常將結點稱為頂點,邊是頂點的有序偶對,若兩個頂點之間存在一條邊,就表示這兩個頂點具有相鄰關系。
堆
(Heap)
在計算機科學中,堆是一種特殊的樹形數據結構,每個結點都有一個值。通常我們所說的堆的數據結構,是指二叉堆。堆的特點是根結點的值最小(或最大),且根結點的兩個子樹也是一個堆。
散列表
(Hash)
若結構中存在關鍵字和K相等的記錄,則必定在f(K)的存儲位置上。由此,不需比較便可直接取得所查記錄。稱這個對應關系f為散列函數(Hash
function),按這個思想建立的表為散列表。
7. 什麼是數據的存儲結構
比如二維數組,數據結構是一個二維的平面結構,但實際上,內存是線性的,不可能存二維結構,所以,這個二維的數據結構要轉換成一維的線性結構來存儲。
像樹或網這樣的結構更明顯了,在內存中更不可能將數據存成為樹狀的或是網狀的,必須都轉換成線性的結構。
所以,數據的邏輯結構都必須轉換成在計算機內存中實際存儲的存儲結構。
8. 數據結構都有哪些分類呢
集合。2.線性結構。3.樹形結構。4.圖狀結構;
1.集合
樹形結構是一層次的嵌套結構。 一個樹形結構的外層和內層有相似的結構, 所以這種結構多可以遞歸的表示。經典數據結構中的各種樹狀圖是一種典型的樹形結構:一顆樹可以簡單的表示為根, 左子樹, 右子樹。 左子樹和右子樹又有自己的子樹。
4.圖狀結構
圖狀結構,簡稱「圖」,是一種復雜的數據結構。圖狀結構中,每個結點的前驅結點數和後續結點數可以任意多個。數據元素間的關系是任意的。其他數據結構(如樹、線性表等)都有明確的條件限制,而圖形結構中任意兩個數據元素間均可相關聯。
9. 數據的儲存結構主要有哪兩種有什麼主要區別
數據的儲存結構主要有:順序存儲結構和鏈式存儲結構。
主要區別
一、存儲單元的連續性不同
鏈式存儲結在構計算機中用一組任意的存儲單元存儲線性表的數據元素(這組存儲單元可以是連續的,也可以是不連續的)。
順序存儲結構在計算機中用一組地址連續的存儲單元依次存儲線性表的各個數據元素。
二、優缺點不同
空間上
順序比鏈式節約空間。是因為鏈式結構每一個節點都有一個指針存儲域。
存儲操作上:
順序支持隨機存取,方便操作
插入和刪除上:
鏈式的要比順序的方便(因為插入的話順序表也很方便,問題是順序表的插入要執行更大的空間復雜度,包括一個從表頭索引以及索引後的元素後移,而鏈表是索引後,插入就完成了)
三、適用方向不同
鏈式存儲適用於在較頻繁地插入、刪除、更新元素時,而順序存儲結構適用於頻繁查詢時使用。
10. 存儲結構有哪些
存儲結構有順序存儲和鏈接存儲。順序存儲和鏈接存儲是數據的兩種最基本的存儲結構。
1、順序存儲
順序存儲方法是把邏輯上相鄰的結點存儲在物理位置相鄰的存儲單元里,結點間的邏輯關系由存儲單元的鄰接關系來體現,由此得到的存儲表示稱為順序存儲結構。順序存儲結構是一種最基本的存儲表示方法,通常藉助於程序設計語言中的數組來實現。
2、鏈接存儲
鏈接存儲方法它不要求邏輯上相鄰的結點在物理位置上亦相鄰,結點間的邏輯關系是由附加的指針欄位表示的。由此得到的存儲表示稱為鏈式存儲結構,鏈式存儲結構通常藉助於程序設計語言中的指針類型來實現。
(10)數據的存儲結構有哪些擴展閱讀:
數據的存儲結構是指數據的邏輯結構在計算機中的表示。數據元素之間的關系有兩種不同的表示方法:順序映象和非順序映象,並由此得到兩種不同的存儲結構:順序存儲結構和鏈式存儲結構。
儲存系統的層次結構為了解決存儲器速度與價格之間的矛盾,出現了存儲器的層次結構。