您好,登錄后才能下訂單哦!
這篇文章主要介紹“數據庫數據結構的基本概念是什么”,在日常操作中,相信很多人在數據庫數據結構的基本概念是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”數據庫數據結構的基本概念是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
一、數據結構的分類
從上圖可以看到,整個數據結構與算法研究的知識體系也就這么多。還記得剛剛提到的時間效率與空間效率嘛?邏輯結構與存儲結構都是為其服務的。而數據的運算是時間效率和空間效率的表現形式。
二、數據結構的分析
數據之間的相互關系稱之為邏輯結構。比如集合、線性結構(一對一)、樹形結構(一對多)、圖形結構(多對多)。
數據在計算機中的存儲形式稱之為存儲結構。
順序存儲:他是用數據元素在存儲器中的相對位置來表示數據元素之間的邏輯關系
鏈式存儲:在每一個數據元素中增加一個存放地址的指針,用指針表示元素之間的邏輯關系。
三、時間復雜度與空間復雜度
在文章一開始就描述了時間效率和空間效率,那么他們兩個該怎么使用數據去量化呢?或者說是我們該怎么去衡量時間效率和空間效率呢?這就用到了時間復雜度和空間復雜度。
1、首先看時間復雜度:
想要了解時間復雜度,就需要先了解時間頻度。一個算法花費的時間與算法中語句的執行次數成正比例,哪個算法中語句執行次數多,它花費時間就多。一個算法中的語句執行次數稱為語句頻度或時間頻度。記為T(n)。
接下來就引入了時間復雜度的概念。看一下比較官方的定義吧:一般情況下,算法中基本操作重復執行的次數是問題規模n的某個函數,用T(n)表示,若有某個輔助函數f(n),使得當n趨近于無窮大時,T(n)/f(n)的極限值為不等于零的常數,則稱f(n)是T(n)的同數量級函數。記作T(n)=O(f(n)),稱O(f(n)) 為算法的漸進時間復雜度,簡稱時間復雜度。是不是比較難以理解,說白了時間復雜度就是描述時間的規模,比如說時間頻度是T(n),時間復雜度就是O(n)。時間頻度是T(n+n)的時候,時間復雜度還是O(n)。也就是他的時間規模就是n這個層次了。
常見的算法的時間 復雜度之間的關系為:
O(1)<O(logn)<O(n)<O(nlog n)<O(n2)<O(2n)<O(n!)<O(nn)
舉個例子吧:
a=0; //(1)
for(i=1;i<=n;i++) //(2)
for(j=1;j<=n;j++) //(3)
a++; //(4)
語句(1)執行1次,
語句(2)執行n次
語句(3)執行n2次
語句(4)執行n2次
T(n) = 1+n+2n2= O(n2)
2、空間復雜度
空間復雜度就比較容易理解了,空間復雜度是對一個算法在運行過程中臨時占用存儲空間大小的一個量度,同樣反映的是一個空間規模,我們用 S(n) 來定義。
空間復雜度比較常用的有:O(1)、O(n)、O(n2),
到此,關于“數據庫數據結構的基本概念是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。