1. 程式人生 > >大話資料結構筆記之--緒論及演算法

大話資料結構筆記之--緒論及演算法

 

一.資料結構緒論

 

資料結構含義:是相互之間存在一種或多種特定關係的資料元素的集合

1,資料結構起源


1)資料結構是一門研究非數值計算的程式設計問題中的操作物件,以及他們之間的關係和操作等相關問題的學科。

2)程式設計的實質是對確定的問題選擇一種好的結構,加上好的演算法

 

2、基本概念和術語


1)資料:是描述客觀事物的符號,是計算機中可以操作的物件,是能被計算機識別,並輸入給計算機處理的符號集合。

2)符號具備兩個前提 :a)可以輸入到計算機中

                                        b)能被計算機程式處理
3)資料元素
:是組成資料的,有一定意義的基本單位,在計算機中通常作為整體處理,也被稱為記錄。

4)資料項:一個資料元素可以由若干資料項組成。是資料不可分割的最小單位。

5)資料物件:是性質相同的資料元素的集合。

6)資料結構
結構簡單理解就是關係,嚴格說是各個組成部分相互搭配和排列的方式

 在計算機中資料元素不是孤立的,是有內在聯絡的集合

3.邏輯結構和物理結構


邏輯結構:指資料物件中資料元素之間的相互關係


1)集合結構:資料元素之間是平等關係

2)線性結構:資料元素之間是一對一的關係


3)樹形結構:資料元素之間是一對多的層次關係


4)圖形結構:資料元素之間是多對多的關係

注意:

4.物理結構:指資料的邏輯結構在計算機中的儲存形式,有些書也叫儲存結構

1)順序儲存結構


2)鏈式儲存結構

5.資料型別

C語言中資料型別分為兩類,原子型別,是不可分解的型別
結構型別由若干個型別組合而成,可再分解,如陣列

 

6.抽象資料型別

抽象資料型別是指: 一個數學模型及定義在該模型上的一組操作

資料抽象型別體現了程式設計中問題分解,抽象和資訊隱藏的特性 

 

總結回顧

 

二.演算法

 

1.演算法的定義

 

2.演算法的五個基本特性:

 1)輸入

2)輸出

3)有窮性

4)確定性

5)可行性

 

3.演算法設計的要求

正確性

可讀性

健壯性

 

時間效率高和儲存兩低

 

4.演算法效率的度量方法

事後統計方法

事前分析估算方法

 

5.函式的逐漸增長

 

6.演算法的時間複雜度(重點)

簡單理解就是相同時間內影象越陡峭需要計算的次數越多也就是越複雜