① 數據結構
簡單的說,物理結構就是數據在內存(包括其他存儲媒介)中實際的存放結構。
而邏輯結構是指編程語言中定義出來的一些結構,比如數組,鏈表等都屬於邏輯結構。
邏輯結構是按照一定的規則映射到具體的物理結構上的。一數組為例:
int[5] array,在邏輯結構上array是數組名,數組名加上數組下標對應一個數組元素;而在物理結構上來說,array對應一個真實的內存地址,可以理解成一個指向某一個內存單元的指針,而數組下標是一個相對與這個真實內存地址的地址偏移量。
我想如果能明白這些的話,是很容易區分數據結構中的物理結構和邏輯結構的。
② 常用數據結構有哪些
數據結構分為8類有:數組、棧、隊列、鏈表、樹、散列表、堆、圖。數據結構是指相互之間存在著一種或多種關系的數據元素的集合和該集合中數據元素之間的關系組成 。
1、數組
數組是可以再內存中連續存儲多個元素的結構,在內存中的分配也是連續的,數組中的元素通過數組下標進行訪問,數組下標從0開始。例如下面這段代碼就是將數組的第一個元素賦值為 1。
2、棧
棧是一種特殊的線性表,僅能在線性表的一端操作,棧頂允許操作,棧底不允許操作。 棧的特點是:先進後出,或者說是後進先出,從棧頂放入元素的操作叫入棧,取出元素叫出棧。
3、隊列
隊列與棧一樣,也是一種線性表,不同的是,隊列可以在一端添加元素,在另一端取出元素,也就是:先進先出。從一端放入元素的操作稱為入隊,取出元素為出隊。
4、鏈表
鏈表是物理存儲單元上非連續的、非順序的存儲結構,數據元素的邏輯順序是通過鏈表的指針地址實現,每個元素包含兩個結點,一個是存儲元素的數據域 (內存空間),另一個是指向下一個結點地址的指針域。根據指針的指向,鏈表能形成不同的結構,例如單鏈表,雙向鏈表,循環鏈表等。
5、樹
樹是一種數據結構,它是由n(n>=1)個有限節點組成一個具有層次關系的集合。把它叫做 「樹」 是因為它看起來像一棵倒掛的樹,也就是說它是根朝上,而葉朝下的。
6、散列表
散列表,也叫哈希表,是根據關鍵碼和值 (key和value) 直接進行訪問的數據結構,通過key和value來映射到集合中的一個位置,這樣就可以很快找到集合中的對應元素。
7、堆
堆是一種比較特殊的數據結構,可以被看做一棵樹的數組對象,具有以下的性質:堆中某個節點的值總是不大於或不小於其父節點的值;堆總是一棵完全二叉樹。將根節點最大的堆叫做最大堆或大根堆,根節點最小的堆叫做最小堆或小根堆。常見的堆有二叉堆、斐波那契堆等。
8、圖
圖是由結點的有窮集合V和邊的集合E組成。其中,為了與樹形結構加以區別,在圖結構中常常將結點稱為頂點,邊是頂點的有序偶對,若兩個頂點之間存在一條邊,就表示這兩個頂點具有相鄰關系。
③ 數據架構(data architecture)是什麼意思
你好,看看這個參考吧。
數據結構是在整個計算機科學與技術領域上廣泛被使用的術語。它用來反映一個數據的內部構成,即一個數據由那些成分數據構成,以什麼方式構成,呈什麼結構。數據結構有邏輯上的數據結構和物理上的數據結構之分。邏輯上的數據結構反映成分數據之間的邏輯關系,而物理上的數據結構反映成分數據在計算機內部的存儲安排。數據結構是數據存在的形式。 數據結構是信息的一種組織方式,其目的是為了提高演算法的效率,它通常與一組演算法的集合相對應,通過這組演算法集合可以對數據結構中的數據進行某種操作。
數據結構課程的主要目的是介紹一些常用的數據結構,闡明數據結構內在的邏輯關系,討論它們在計算機中的存儲表示,並結合各種數據結構,討論對它們實行的各種運算的實現演算法。很多演算法實際上是對某種數據結構施行的一種變換,研究演算法也就是研究在實施變換過程中數據結構的動態性質。
問:我對此題產有疑義!將F=1+1/2+1/3+……+1/n用遞歸函數編程!
徐孝凱:是遞歸問題,請仔細琢磨。
問:數據結構太不好學了
殷人昆:數據結構需要下工夫,必須作題,這與其他課程的規律都一樣。重點把各種結構的定義、特點,存儲表示搞清楚,對每一種結構的實現方法有所了解,考試時的基本分數就有了。書上的演算法的思路要掌握,它給出解決問題的方法。
問:數據結構我已經考了兩次了,還是沒有過關。不知道有沒有什麼竅門?請有心得的朋友指點一下,非常感激。
殷人昆:可能你過去程序設計的基礎沒有打好,所以繼續學習就會發生困難。現在考試的重點在基本概念的理解和基本結構的構造和分析,對演算法編寫要求的比重不太高。如果基本概念和各種數據結構的基本特點也不清楚,考試必然不合格。努力把書本看一遍,該記的記,該背的背。考試的范圍比較大,不好劃重點。
問:我們是貴州電大貴陽分校的幾位學生,我們今年已是第五次考數據結構了,但我們已有2年沒有得到中央電大的《期末復習指導》了,不知現在的考試要求是什麼,若能為我們提供該資料,我們將萬分感謝!
徐孝凱:請到該課程網頁上查找。
問:數據結構的考試重點在那?
徐孝凱:請注意以下復習:
1.該課程期末復習指導
2.該課程形成性作業
3.該課程實驗教材後面附錄中的綜合練習題
4.該課程中央電大網頁上發表的各種題型的綜合練習題。
問:程序步數的計算要注意些什麼?
殷人昆:注意掌握每一類型語句的基本程序步數,再學會統計程序中各個語句的執行頻度,就可以計算出程序的總程序步數。
問:稀疏矩陣一般用在什麼情況下?
殷人昆:稀疏矩陣主要用在工程和科學計算中,例如,在做大壩的結構計算時,用有限元法將整個大壩劃分成三角網格,在每一個節點上列出方程。經過一系列變換,最後形成一個大型稀疏系數線性方程組,其系數矩陣即為稀疏矩陣。此外,在解電路問題也會遇到稀疏矩陣。因此,稀疏矩陣的表示和計算有其工程背景。
tlddcl:教課書上P220頁習題六一題6小題由權值分別為3,8,6,2,5的葉子結點生成一棵哈夫曼樹,它的帶權路徑長度為( )A.24 B.48 C.72 D.51
我計算應為55而中央電大期未復習中同樣題選的D.53 不知應為多少
賀桂英:經過我的計算,這棵哈夫曼樹的帶權路徑長度應為:53
可能是選擇題的答案印刷有誤!
tlddcl:能將運算式子寫出來
賀桂英:ASL=(2+3)*3+(5+6+8)*2=53
徐孝凱:謝謝賀老師回答。
賀桂英:構造的哈夫曼樹在附件中!
ASL=(2+3)*3+(5+6+8)*2=53
tlddcl:按你的計算式子5,6,8三個葉子結點應在一個層上呀
賀桂英:請問徐老師:B_樹的插入與刪除還作考核要求嗎?對於 B_樹的插入、刪除,學生們學起來有些困難,這部分是否作為本次考試的內容?
徐孝凱:基本不做要求,考核較多的是B_的概念,即B_樹的結構特點。
賀桂英:徐老師:排序演算法太多,關於希爾排序我沒時間給學生講解,這部分是否作為考核內容?
徐孝凱:不做為考核要求,因為它不是一個好的排序演算法。
賀桂英:外排序的內容是否要求掌握?
徐孝凱:只有很少一些概念是要求的,如最佳歸並樹的概念,不過可以放棄,因為涉及的分數很少。
問:求廣義表的表頭與求它的第一個元素是一回事嗎?
賀桂英:我的理解是一樣的.廣義表的演算法比較難,應該不作考核要求的.
徐孝凱:賀老師回答是對的,關於廣義表的表頭和表尾的知識,有時作為概念來考核。
問:已知三叉樹的結點個數,怎麼求它的最小和最大深度?
賀桂英:對了,這是一個值得探討的問題!請問徐老師:三叉樹中是否至少有一個結點的度為3才行?
徐孝凱:在專科數據結構教材中介紹樹的性質時,給出了樹的結點數與最小深度的關系,其最大深度應等於其結點數,不一定非得存在度為3的結點。
問:老師,你好。我是廣西電大桂林電大的一名01級學生,我覺得這門課程很難考,考了4次,每次都差那麼幾分,雖然專科時也是這個專業,但卻很難考,有什麼好的資料嗎
徐孝凱:請多練習該課程實驗教材後面的綜合練習題。
賀桂英:我個人覺得:作業和實驗指導書後的綜合練習題很重要!
徐孝凱:這學期新增加了網上教學綜合練習題輔導文章。在該課程的中央電大網頁上的教學輔導專欄中,新發表有期末綜合練習題,請注意參考。
問:該課是否有模擬題型?望指導。
徐孝凱:請注意以下復習:
1.該課程期末復習指導
2.該課程形成性作業
3.該課程實驗教材後面附錄中的綜合練習題
4.該課程中央電大網頁上發表的各種題型的綜合練習題。
問:什麼是數據結構
殷人昆:數據結構是所要處理的數據元素之間的關系,這些數據元素依據這種關系構成適合各種問題求解的數據表示。
問:數據結構的抽象層次
殷人昆:數據結構分邏輯結構和存儲結構。邏輯結構是面向問題的,存儲結構是邏輯結構的存儲表示。通常所說的「數據結構」是指數據的邏輯結構,包括線性結構(線性表)和非線性結構(樹、圖、多維數組、廣義表),存儲結構包括一維數組、鏈接表、索引表、散列表。
問:廣義表的遞歸演算法
殷人昆:廣義表的讀歸演算法看書。不知你要問什麼問題?是否希望知道重點?
問:老師你講的這資料「課程實驗教材後面的綜合練習題和驗指導書後的綜合練習題」我們都沒有。在哪找到?
殷人昆:中央廣播電視大學出版社出版的「數據結構實驗(本科)」中有,請購買。
徐孝凱:該課程的實驗教材由中央廣播電視大學出版社出版
教材名稱為「數據結構實驗(本科),徐孝凱、殷人昆編著,中央廣播電視大學出版社出版,聯系電話為:010-68214437轉發行部
問:圖的基本概念
徐孝凱:請看書。
問:數據結構基本概念
徐孝凱:請看實驗教材後面的練習題。
問:求一個演算法的時間復雜度應該從哪幾個方面來算
徐孝凱:主要看循環體執行的次數。
問:排序的演算法考試是否作要求?
徐孝凱:一般考方法的情況較多,考演算法的情況較少。 試題范圍同實驗教材後的練習題,請注意分析可知。
問:簡單的搜索結構
徐孝凱:此概念較模糊,簡單的搜索應該是順序搜索。
問:抽象數據類型及面向對象概念
徐孝凱:看書第一章
殷人昆:答疑時間到,請大家把書多看幾遍,再見!
④ 數據架構主要解決哪些問題
數據結構是這樣來的。
前人在很多場景處理數據時發現數據的某種處理或者存儲規律,於是就總結這些規律發明數據結構,讓後人更快的學會與使用,要問能解決什麼樣的問題,太多了,基礎的數據結構堆棧樹,能在很多很多地方都用到,一些復雜點的數據結構也用於更細分的領悟。
脫離具體東西說它能解決什麼問題有點耍流氓,如果一定要個答案,只能說
適用於解決有一定規律的重復性問題。
⑤ 數據架構是什麼
數據架構即資料庫架構
資料庫是相關數據的集合,一個資料庫含有各種成分,包括表、記錄、欄位、索引等。
1.資料庫(Database)
Visual Basic中使用的資料庫是關系型資料庫(Relational Database)。一個資料庫由一個或一組數據表組成。每個資料庫都以文件的形式存放在磁碟上,即對應於一個物理文件。不同的資料庫,與物理文件對應的方式也不一樣。對於dBASE,FoxPro和Paradox格式的資料庫來說,一個數據表就是一個單獨的資料庫文件,而對於Microsoft Access、Btrieve格式的資料庫來說,一個資料庫文件可以含有多個數據表。
2.數據表(Table)
簡稱表,由一組數據記錄組成,資料庫中的數據是以表為單位進行組織的。一個表是一組相關的按行排列的數據;每個表中都含有相同類型的信息。表實際上是一個二維表格,例如,一個班所有學生的考試成績,可以存放在一個表中,表中的每一行對應一個學生,這一行包括學生的學號,姓名及各門課程成績。
3.記錄(Record)
表中的每一行稱為一個記錄,它由若干個欄位組成。
4.欄位(Field)
也稱域。表中的每一列稱為一個欄位。每個欄位都有相應的描述信息,如數據類型、數據寬度等。
5.索引(Index)
為了提高訪問資料庫的效率,可以對資料庫使用索引。當資料庫較大時,為了查找指定的記錄,則使用索引和不使用索引的效率有很大差別。索引實際上是一種特殊類型的表,其中含有關鍵欄位的值(由用戶定義)和指向實際記錄位置的指針,這些值和指針按照特定的順序(也由用戶定義)存儲,從而可以以較快的速度查找到所需要的數據記錄。
6.查詢(Query)
一條SQL(結構化查詢語言)命令,用來從一個或多個表中獲取一組指定的記錄,或者對某個表執行指定的操作。當從資料庫中讀取數據時,往往希望讀出的數據符合某些條件,並且能按某個欄位排序。使用SQL,可以使這一操作容易實現而且更加有效。SQL是非過程化語言(有人稱為第四代語言),在用它查找指定的記錄時,只需指出做什麼,不必說明如何做。每個語句可以看作是一個查詢(query),根據這個查詢,可以得到需要的查詢結果。
7.過濾器(Filter)
過濾器是資料庫的一個組成部分,它把索引和排序結合起來,用來設置條件,然後根據給定的條件輸出所需要的數據。
8.視圖(view)
數據的視圖指的是查找到(或者處理)的記錄數和顯示(或者進行處理)這些記錄的順序。在一般情況下,視圖由過濾器和索引控制
⑥ 什麼叫數據架構呢
數據中心是使用復雜的網路、計算和存儲系統來提供對應用程序和數據的共享訪問的設施。行業標準的存在有助於設計、構建和維護數據中心設施和基礎設施,以確保數據的安全性和可用性。
數據中心架構組件
計算、存儲和網路是數據中心中使用的三種主要組件類型。然而,在現代數據中心中,這些組件只是冰山一角。從表面上看,支持基礎設施對於企業數據中心實現服務水平協議的能力至關重要。
數據中心計算
數據中心的生成器是伺服器。在邊緣計算模型中,用於在伺服器上運行應用程序的處理和內存可能是虛擬化的、物理的、分布在容器之間或分布在遠程節點之間。通用cpu可能不是解決人工智慧(AI)和機器學習(ML)問題的最佳選擇,所以數據中心必須使用最適合這項任務的處理器。
數據中心存儲
出於自身的目的和客戶的需要,數據中心保存著大量的機密數據。減少的存儲介質成本增加了數據備份可用的存儲量,無論是本地、遠程還是兩者兼有。由於非易失性存儲介質的進步,數據訪問時間越來越快。此外,就像其他軟體定義的東西一樣,軟體定義的存儲技術在管理數據中心存儲系統時提高了人員的生產力。
數據中心網路
布線、交換機、路由器和防火牆都是數據中心網路設備的例子,這些設備將伺服器彼此連接起來,也將伺服器與外界連接起來。如果設計和組織得當,它們可以在不犧牲效率的情況下處理大量的流量。典型的三層網路拓撲結構包括數據中心邊緣的核心交換機(該交換機將數據中心與Internet連接)和中間聚合層(該聚合層將核心層與接入層結合起來,該接入層承載著伺服器)。由於超大規模網路安全和軟體定義的網路等創新,現設數據中心網路提供雲級的移動性和可伸縮性。
⑦ 什麼是數據架構
數據結構是在整個計算機科學與技術領域上廣泛被使用的術語。它用來反映一個數據的內部構成,即一個數據由那些成分數據構成,以什麼方式構成,呈什麼結構。數據
⑧ 數據架構是什麼
從整公司的角度來看,企業架構包含業務架構、技術架構和數據架構。數據架構應該是面向業務數據定義、數據生產、數據分析、數據使用的整體架構,與業務架構、技術架構相輔相成,密不可分,故大數據架構和資料庫架構都只是數據架構的個子集。
⑨ 數據結構
常用結構有
數組 (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),按這個思想建立的表為散列表。
主要要掌握的除了圖以外.都得清楚的知道哦~
⑩ 數據結構'''''''''
第1題答案正確,因為
二叉樹
中度為0的節點數(葉子節點)比度為2的節點數(有兩個孩子的節點)多1,而葉子數為50,則有兩個孩子的節點數為49,加上一個孩子的節點數30共為50+49+30=129
第二題答案錯誤,
生成樹
的邊數應該小於
定點數