首頁 考試吧論壇 Exam8視線 考試商城 網絡課程 模擬考試 考友錄 實用文檔 求職招聘 論文下載 | ||
![]() |
2011中考 | 2011高考 | 2012考研 | 考研培訓 | 在職研 | 自學考試 | 成人高考 | 法律碩士 | MBA考試 MPA考試 | 中科院 |
|
![]() |
四六級 | 職稱英語 | 商務英語 | 公共英語 | 托福 | 雅思 | 專四專八 | 口譯筆譯 | 博思 | GRE GMAT 新概念英語 | 成人英語三級 | 申碩英語 | 攻碩英語 | 職稱日語 | 日語學習 | 法語 | 德語 | 韓語 |
|
![]() |
計算機等級考試 | 軟件水平考試 | 職稱計算機 | 微軟認證 | 思科認證 | Oracle認證 | Linux認證 華為認證 | Java認證 |
|
![]() |
公務員 | 報關員 | 銀行從業資格 | 證券從業資格 | 期貨從業資格 | 司法考試 | 法律顧問 | 導游資格 報檢員 | 教師資格 | 社會工作者 | 外銷員 | 國際商務師 | 跟單員 | 單證員 | 物流師 | 價格鑒證師 人力資源 | 管理咨詢師考試 | 秘書資格 | 心理咨詢師考試 | 出版專業資格 | 廣告師職業水平 駕駛員 | 網絡編輯 |
|
![]() |
衛生資格 | 執業醫師 | 執業藥師 | 執業護士 | |
![]() |
會計從業資格考試(會計證) | 經濟師 | 會計職稱 | 注冊會計師 | 審計師 | 注冊稅務師 注冊資產評估師 | 高級會計師 | ACCA | 統計師 | 精算師 | 理財規劃師 | 國際內審師 |
|
![]() |
一級建造師 | 二級建造師 | 造價工程師 | 造價員 | 咨詢工程師 | 監理工程師 | 安全工程師 質量工程師 | 物業管理師 | 招標師 | 結構工程師 | 建筑師 | 房地產估價師 | 土地估價師 | 巖土師 設備監理師 | 房地產經紀人 | 投資項目管理師 | 土地登記代理人 | 環境影響評價師 | 環保工程師 城市規劃師 | 公路監理師 | 公路造價師 | 安全評價師 | 電氣工程師 | 注冊測繪師 | 注冊計量師 |
|
![]() |
繽紛校園 | 實用文檔 | 英語學習 | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲 |
數據就是指能夠被計算機識別、存儲和加工處理的信息的載體。
數據元素是數據的基本單位,有時一個數據元素可以由若干個數據項組成。數據項是具有獨立含義的最小標識單位。如整數這個集合中,10這個數就可稱是一個數據元素.又比如在一個數據庫(關系式數據庫)中,一個記錄可稱為一個數據元素,而這個元素中的某一字段就是一個數據項。
數據結構的定義雖然沒有標準,但是它包括以下三方面內容:邏輯結構、存儲結構、和對數據的操作。這一段比較重要,我用自己的語言來說明一下,大家看看是不是這樣。
比如一個表(數據庫),我們就稱它為一個數據結構,它由很多記錄(數據元素)組成,每個元素又包括很多字段(數據項)組成。那么這張表的邏輯結構是怎么樣的呢? 我們分析數據結構都是從結點(其實也就是元素、記錄、頂點,雖然在各種情況下所用名字不同,但說的是同一個東東)之間的關系來分析的,對于這個表中的任一個記錄(結點),它只有一個直接前趨,只有一個直接后繼(前趨后繼就是前相鄰后相鄰的意思),整個表只有一個開始結點和一個終端結點,那我們知道了這些關系就能明白這個表的邏輯結構了。
而存儲結構則是指用計算機語言如何表示結點之間的這種關系。如上面的表,在計算機語言中描述為連續存放在一片內存單元中,還是隨機的存放在內存中再用指針把它們鏈接在一起,這兩種表示法就成為兩種不同的存儲結構。(注意,在本課程里,我們只在高級語言的層次上討論存儲結構。)
第三個概念就是對數據的運算,比如一張表格,我們需要進行查找,增加,修改,刪除記錄等工作,而怎么樣才能進行這樣的操作呢? 這也就是數據的運算,它不僅僅是加減乘除這些算術運算了,在數據結構中,這些運算常常涉及算法問題。
弄清了以上三個問題,就可以弄清數據結構這個概念。
數據就是指能夠被計算機識別、存儲和加工處理的信息的載體。
數據元素是數據的基本單位,有時一個數據元素可以由若干個數據項組成。數據項是具有獨立含義的最小標識單位。如整數這個集合中,10這個數就可稱是一個數據元素.又比如在一個數據庫(關系式數據庫)中,一個記錄可稱為一個數據元素,而這個元素中的某一字段就是一個數據項。
數據結構的定義雖然沒有標準,但是它包括以下三方面內容:邏輯結構、存儲結構、和對數據的操作。這一段比較重要,我用自己的語言來說明一下,大家看看是不是這樣。
比如一個表(數據庫),我們就稱它為一個數據結構,它由很多記錄(數據元素)組成,每個元素又包括很多字段(數據項)組成。那么這張表的邏輯結構是怎么樣的呢? 我們分析數據結構都是從結點(其實也就是元素、記錄、頂點,雖然在各種情況下所用名字不同,但說的是同一個東東)之間的關系來分析的,對于這個表中的任一個記錄(結點),它只有一個直接前趨,只有一個直接后繼(前趨后繼就是前相鄰后相鄰的意思),整個表只有一個開始結點和一個終端結點,那我們知道了這些關系就能明白這個表的邏輯結構了。
而存儲結構則是指用計算機語言如何表示結點之間的這種關系。如上面的表,在計算機語言中描述為連續存放在一片內存單元中,還是隨機的存放在內存中再用指針把它們鏈接在一起,這兩種表示法就成為兩種不同的存儲結構。(注意,在本課程里,我們只在高級語言的層次上討論存儲結構。)
第三個概念就是對數據的運算,比如一張表格,我們需要進行查找,增加,修改,刪除記錄等工作,而怎么樣才能進行這樣的操作呢? 這也就是數據的運算,它不僅僅是加減乘除這些算術運算了,在數據結構中,這些運算常常涉及算法問題。
弄清了以上三個問題,就可以弄清數據結構這個概念。
--------------------------------------------------------------------------------
通常我們就將數據的邏輯結構簡稱為數據結構,數據的邏輯結構分兩大類:線性結構和非線性結構 (這兩個很容易理解)
數據的存儲方法有四種:順序存儲方法、鏈接存儲方法、索引存儲方法和散列存儲方法。
--------------------------------------------------------------------------------
下一個是難點問題,就是算法的描述和分析,主要是算法復雜度的分析方法及其運用。 首先了解一下幾個概念。一個是時間復雜度,一個是漸近時間復雜度。前者是某個算法的時間耗費,它是該算法所求解問題規模n的函數,而后者是指當問題規模趨向無窮大時,該算法時間復雜度的數量級。
當我們評價一個算法的時間性能時,主要標準就是算法的漸近時間復雜度,因此,在算法分析時,往往對兩者不予區分,經常是將漸近時間復雜度T(n)=O(f(n)簡稱為時間復雜度,其中的f(n)一般是算法中頻度最大的語句頻度。
此外,算法中語句的頻度不僅與問題規模有關,還與輸入實例中各元素的取值相關。但是我們總是考慮在最壞的情況下的時間復雜度。以保證算法的運行時間不會比它更長。
常見的時間復雜度,按數量級遞增排列依次為:常數階O(1)、對數階O(log2n)、線性階O(n)、線性對數階O(nlog2n)、平方階O(n^2)、立方階O(n^3)、k次方階O(n^k)、指數階O(2^n)。
時間復雜度的分析計算請看書本上的例子,然后我們通過做練習加以領會和鞏固。
數據結構習題一
--------------------------------------------------------------------------------
1.1 簡述下列概念:數據、數據元素、數據類型、數據結構、邏輯結構、存儲結構、線性結構、非線性結構。
◆ 數據:指能夠被計算機識別、存儲和加工處理的信息載體。
◆ 數據元素:就是數據的基本單位,在某些情況下,數據元素也稱為元素、結點、頂點、記錄。數據元素有時可以由若干數據項組成。
◆ 數據類型:是一個值的集合以及在這些值上定義的一組操作的總稱。
◆ 數據結構:指的是數據之間的相互關系,即數據的組織形式。一般包括三個方面的內容:數據的邏輯結構、存儲結構和數據的運算。
◆ 邏輯結構:指各數據元素之間的邏輯關系。
◆ 存儲結構:就是數據的邏輯結構用計算機語言的實現。
◆ 線性結構:數據邏輯結構中的一類,它的特征是若結構為非空集,則該結構有且只有一個開始結點和一個終端結點,并且所有結點都最多只有一個直接前趨和一個直接后繼。線性表就是一個典型的線性結構。
◆ 非線性結構:數據邏輯結構中的另一大類,它的邏輯特征是一個結點可能有多個直接前趨和直接后繼。
--------------------------------------------------------------------------------
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |