資料結構—基礎知識

來源:互聯網
上載者:User

標籤:資料結構   時間複雜度   

首先瞭解一下資料結構中的概念(只為了對其有了感性認識)

資料:描述客觀事物的符號,是電腦中可以操作的對象,能夠被電腦識別,並輸入給電腦處理的集合符號。

資料不僅僅包括數值,還包括視頻、音頻、圖片等等

資料元素:是組成資料的、具有一定意義的基本單位,在電腦中通常作為一個整體進行處理,也稱為記錄。

資料項目:一個資料元素由若干個個資料項目組成。

可以將資料元素理解我資料庫中的一條記錄,而資料項目使其對應的屬性。資料項目是資料不可分割的最小單位。資料項目是資料的最小單位,資料元素是資料結構中討論的最小單位。

資料對象:是性質相同資料元素的集合,是資料的子集。

那麼什麼是資料結構呢?

是相互之間存在一種或多種特定關係的集合。


資料>資料對象>資料元素>資料項目


按照視點不同,可以將資料結構可以分為邏輯結構和物理結構

邏輯結構:資料對象中資料元素之間的相互關係。

邏輯結構|

                |—集合結構:集合結構中,資料元素除了同屬一個集合,沒有其他關係

                |—線性結構:線性結構中資料元素之間是一對一的關係

                |—樹結構:樹結構之間的資料元素是一對多關聯性

                |—圖結構:圖結構之間的資料元素是多對多的關係

物理結構:資料的邏輯結構在電腦中的儲存形式

物理結構|

                |—順序儲存結構:把資料元素存放到放到地址連續的儲存單元中,其資料間的邏輯關係和物理關係一致。

                |—連結儲存結構:把資料元素存放在任意的儲存單元裡,這組儲存單元可以是連續的,也可以是不連續的。


抽象資料類型(Abstract Data Type)ADT

資料類型:一組性質相同的值的集合及其定義在該集合上的一些操作。

什麼叫做抽象?

抽取事物具有的普遍性的本質。抽取出問題的特徵忽略非本質的細節,是對事物的一個概括。

what is ADT?

是指一個數學模型,及其定義在該模型上的操作。他包括資料及其對資料的操作。

ADT 抽象資料類型名

Data

        資料元素之間的邏輯關係的定義

Operation

        操作1

                 初始化條件

                 操作結果描述

        操作2

                 ......

        操作n

                 .......

endADT

抽象資料類型體現了:問題分解、抽象和資訊隱藏。


什麼是演算法?

解決特定問題求解步驟的描述,在電腦中表示為指令的有序序列,並且每個指令表示一個或多個操作。

演算法的特性:輸入輸出、有窮性、確定性、可行性

演算法的度量—時間複雜度

進行演算法分析是,總的語句執行次數T(n)是關於n的函數,進而分析T(n)隨n的變化情況並確定數量級。演算法時間複雜度用O(f(n))表示,表示隨著問題規模n的增大,演算法執行時間的增長率和f(n)的增長率相同,所以稱為演算法的漸進時間複雜度,簡稱時間複雜度。

求取演算法時間複雜度:

推到大O階:

1、用常數1取代已耗用時間中的所有加法常數

2、修改後的運行次數函數中,只保留最高階項

3、去除與這個最高項的相乘的常數

常用的時間複雜度排序:

O(1)<O(logn)<O(nlogn)<O(n2)【n的2次方】<O(n3)【n的三次方】<O(2n) 【2的n次方】<O(n!)<O(nn)【n的n次方】

一般我們指的是最壞時間複雜度

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

資料結構—基礎知識

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.