????? ?嚴蔚敏編著的<< 數據結構>>,.算起來這本書我也看了快3到4遍了.自我感覺還可以,最起碼基本上了解了什么是線性表,棧,隊列,樹....也能自己上機用C實現."數據結構,什么是數據結構" 這樣一個問題出現了,我感覺挺模糊的,花了幾個小時來看了下,有了點想法,寫下來讓大家看看.
????? 自從開始學習編寫程序,我就很清楚記的書上的一句話"程序=數據結構+算法".(呵呵,常用這句話在同學面前裝高深,還是有很多人不知道地).編程我覺的就是一個從現實到模擬的一個過程.首先從具體的問題抽象出一個數學模型,然后設計一個解決這個問題的算法,最后編出程序.當然了在現實生活中有很多不可能用數學模型來描述的,數據結構就是為了研究非數值計算的程序設計問題中計算機的操作對象以及他們之間的關系和操作等等..
??????<<數據結構>>-嚴 中對數據結構的定義是:相互之間存在一中或多種特定關系的數據元素的集合; 數據元素都不是孤立存在的,而是在他們之間存在某些關系的.感覺挺抽象的,都是數學描述。我的個人理解是吧,數據結構就是用來存放有特定關系的數據的容器,就象一些特定的瓶子,里邊必須放一類東西,比如:一個瓶子放糖果,一個放水果.當然了,我這種說法有些不恰當.
???? 討論數據結構的目的是為了在計算機中實現對它進行操作.數據類型就是對數據結構的操作(個人觀點),我門編程的時候老是說到什么int數據類型,char型...好象并沒有看到這些類型有什么操作,其實不是的..加,.減,乘,除,其實就是定義在int類型上的一組操作.?這里我就想問了.那么我們編程時說的Queue到底是數據結構還是數據類型呢.從定義的角度來看,Queue有對數據的操作,應該是數據類型.??那么口頭說的'隊列'應該是數據結構,為什么呢?就拿'"銀行排隊取錢"這個問題來說,我們說要用'隊列'來實現,我們要的只是一種對數據的存儲結構(也就是說人應該排在隊列里,而不用管他怎么排),這種存儲結構(隊列)有一種特性就是先進先出,(至于它的這種特怎么實現我們不用管).
??????數據類型就是指一個數學模型以及定義在該模型上的一組操作,那類是不是數據類型呢?類包括他的成員變量和成員方法,而方法是對成變量的操作,所以說類應該是一種數據類型.但是類有自身的創建和銷毀,這點符合(ADT)抽象數據類型的特點.面向對象有個重要的特點就是對信息的隱藏(即封裝),那么數據類型有沒有這樣的特點了,應該是有的.就拿整型來說吧,用戶在使用整數類型時,即不需要了解他在計算機內部怎么表示的,也不需要知道怎么操作的,如"兩整數相加",我們只需要知道的僅僅是他在"數學上求和"這樣一個抽象的特性,而不要考慮他是怎么在硬件內部怎么進行"位"運算的.
?????????個人的理解,肯定有很多是不妥的,呵呵!!
??????
????? 自從開始學習編寫程序,我就很清楚記的書上的一句話"程序=數據結構+算法".(呵呵,常用這句話在同學面前裝高深,還是有很多人不知道地).編程我覺的就是一個從現實到模擬的一個過程.首先從具體的問題抽象出一個數學模型,然后設計一個解決這個問題的算法,最后編出程序.當然了在現實生活中有很多不可能用數學模型來描述的,數據結構就是為了研究非數值計算的程序設計問題中計算機的操作對象以及他們之間的關系和操作等等..
??????<<數據結構>>-嚴 中對數據結構的定義是:相互之間存在一中或多種特定關系的數據元素的集合; 數據元素都不是孤立存在的,而是在他們之間存在某些關系的.感覺挺抽象的,都是數學描述。我的個人理解是吧,數據結構就是用來存放有特定關系的數據的容器,就象一些特定的瓶子,里邊必須放一類東西,比如:一個瓶子放糖果,一個放水果.當然了,我這種說法有些不恰當.
???? 討論數據結構的目的是為了在計算機中實現對它進行操作.數據類型就是對數據結構的操作(個人觀點),我門編程的時候老是說到什么int數據類型,char型...好象并沒有看到這些類型有什么操作,其實不是的..加,.減,乘,除,其實就是定義在int類型上的一組操作.?這里我就想問了.那么我們編程時說的Queue到底是數據結構還是數據類型呢.從定義的角度來看,Queue有對數據的操作,應該是數據類型.??那么口頭說的'隊列'應該是數據結構,為什么呢?就拿'"銀行排隊取錢"這個問題來說,我們說要用'隊列'來實現,我們要的只是一種對數據的存儲結構(也就是說人應該排在隊列里,而不用管他怎么排),這種存儲結構(隊列)有一種特性就是先進先出,(至于它的這種特怎么實現我們不用管).
??????數據類型就是指一個數學模型以及定義在該模型上的一組操作,那類是不是數據類型呢?類包括他的成員變量和成員方法,而方法是對成變量的操作,所以說類應該是一種數據類型.但是類有自身的創建和銷毀,這點符合(ADT)抽象數據類型的特點.面向對象有個重要的特點就是對信息的隱藏(即封裝),那么數據類型有沒有這樣的特點了,應該是有的.就拿整型來說吧,用戶在使用整數類型時,即不需要了解他在計算機內部怎么表示的,也不需要知道怎么操作的,如"兩整數相加",我們只需要知道的僅僅是他在"數學上求和"這樣一個抽象的特性,而不要考慮他是怎么在硬件內部怎么進行"位"運算的.
?????????個人的理解,肯定有很多是不妥的,呵呵!!
??????