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