資料結構與演算法第一張 序論

2021-06-25 19:16:31 字數 1932 閱讀 1415

1.1  資料結構在程式設計中的作用 

程式設計的實質:a.資料表示:將資料儲存在計算機(記憶體)中

b.資料處理:處理資料,設計方案(演算法)

1.2  本書討論的主要內容

計算機能夠求解的問題:1、數值問題

2、非數值問題:

a.非數值問題的資料結構:@線性結構

@樹結構

@圖結構 

b.非數值問題的資料組織和處理的主要內容:

(1)資料的邏輯結構:線性表、樹、圖等資料結構,其核心是如何組織待處理的資料以及資料之間的關係;

(2)資料的儲存結構:如何將線性表、樹、圖等資料結構儲存到計算機的儲存器中,其核心是如何有效地儲存資料以及資料之間的邏輯關係;                            (3)演算法:如何基於資料的某種儲存結構實現插入、刪除、查詢等基本操作,其核心是如何有效地處理資料;

(4)常用資料處理技術:查詢技術、排序技術、索引技術等。

1.3  資料結構的基本概念

1、資料:所有能輸入到計算機中並能被電腦程式識別和處理的符號集合。

(1)數值資料:整數、實數等

(2)非數值資料:圖形、圖象、聲音、文字等 

2、資料元素:資料的基本單位,在電腦程式中通常作為乙個整體進行考慮和處理。

3、資料項:構成資料元素的不可分割的最小單位。

4、資料結構:相互之間存在一定關係的資料元素的集合。按照視點的不同,資料結構分為邏輯結構和儲存結構。

(1)邏輯結構:指資料元素之間邏輯關係的整體。

a. 集合:資料元素之間就是「屬於同乙個集合」 ;

b. 線性結構:資料元素之間存在著一對一的線性關係;

c. 樹結構:資料元素之間存在著一對多的層次關係;

d.圖結構:資料元素之間存在著多對多的任意關係。      

(2)儲存結構:又稱為物理結構,是資料及其邏輯結構在計算機中的表示。

a. 順序儲存結構:用一組連續的儲存單元依次儲存資料元素,資料元素之間的邏輯關係由元素的儲存位置來表示。

(3)邏輯結構和儲存結構之間的關係

a.資料的邏輯結構是從具體問題抽象出來的資料模型,是面向問題的,反映了資料元素之間的關聯方式或鄰接方式;資料的儲存結構是面向計算機的。

b.一種資料的邏輯結構可以用多種儲存結構來儲存,而採用不同的儲存結構,其資料處理的效率往往是不同的。 

5、抽象資料型別

(1)資料型別:一組值的集合以及定義於這個值集上的一組操作的總稱。

(2)抽象:抽出問題本質的特徵而忽略非本質的細節。

(3)抽象資料型別:乙個資料結構以及定義在該結構上的一組操作的總稱。 

1.4  演算法及演算法分析

1. 演算法:是對特定問題求解步驟的一種描述,是指令的有限序列。

2. 演算法的五大特性:

⑴ 輸入:乙個演算法有零個或多個輸入。

⑵ 輸出:乙個演算法有乙個或多個輸出。

⑶ 有窮性:乙個演算法必須總是在執行有窮步之後結束,且每一步都在有窮時間內完成。

⑷ 確定性:演算法中的每一條指令必須有確切的含義,對於相同的輸入只能得到相同的輸出。

⑸ 可行性:演算法描述的操作可以通過已經實現的基本操作執行有限次來實現。

3、演算法的描述方法a.自然語言

b.流程圖 

c.程式語言 

d.偽** 

4、演算法分析

度量演算法效率的方法:

(1) 事後統計:將演算法實現,測算其時間和空間開銷。 

缺點:a. 編寫程式實現演算法將花費較多的時間和精力;

b.所得實驗結果依賴於計算機的軟硬體等環境因素。

(2)事前分析:對演算法所消耗資源的一種估算方法。

演算法分析——大o符號

定理:a.若存在兩個正的常數c和n0,對於任意n≥n0,都有t(n)≤c×f(n),則稱t(n)=o(f(n))。

b.若a(n)=amnm+am-1nm-1+¼+a1n+a0是乙個m次多項式,則a(n)=o(nm)。

第一張演算法作業

1.本學期將遵循的編碼規範是谷歌公司的編碼規範,為 2.數學之美 讀後感 1.乙個正確的數學模型應當在形式上是簡單的.2.乙個正確的模型一開始可能還不如乙個精雕細琢過的錯誤模型來的準確,但是,如果我們認定大方向是對的,就應該堅持下去.3.大量準確的資料對研發很重要.4.正確的模型也可能受噪音干擾,而...

第一張總結

昨天我在學校學習的知識本來只有很少數的知識,由老師講出來就很深了。1 計算機的概念特點發展 細節在這裡有講了很多名人的發明為後人做出的恭喜並且還有作業 要求我們收集更多的鳴人及他的故事 2 計算機硬體軟體等知識,拓展開就有很多的小知識 硬體分為主機 跟 外設 主機有分文了很多比如cpu 等 外設不 ...

Crystal Reports第一張報表

新建乙個 專案,1.設定資料庫 從伺服器資源管理器中,資料連線中新增新連線,用microsoft access資料庫檔案作為資料提供程式,連線上crystal reports的用例的資料庫xtreme 2.建立新crystal reports報表 在工程專案中新增乙個crystal reports的...