序言:
還記得think in java 中Everything Is an Object一章那句引言嗎?
If we spoke a different language, we would perceive a somewhat different world.
人類文明發展的今天,科學技術進步以及對世界的認知可謂空前,而我們對世界的認識完全是對抽象事物的具體限定。
比如說:人類
人類抽象出來的具體實例那就是單獨的“個體人”
但是真的是這樣麼,比如(外部聯繫)地球這個大生態系統中:人(消費者)不能離開空氣和水、離不開植物(生產者)和微生物(消費/分解者);再如(內部聯繫)人要說話離不開聲帶的震動、人會有疼痛感和飢餓感離不開神經傳導。
或許某些情況下確實是有用處(一般大家都這麼說),但是久而久之你可能就會忽略掉那個“大局”,即事物之間既有聯繫又是獨立的。
簡介:(不涉及具體算法)
什麼是數據:信息的載體,拿自己打比方,自己包含的數據:是一個人(概念限定),包含了(概念限定)頭-->腳、組織-->細胞、神經元、基因等-->外界的事物(“-->”表示映射,兩端可以抽象成某個整體的特定屬性以某種關係對應)。
什麼是數據結構:數據結構是數據的組織方式,是一種用抽象結構來對數據的描述,包括線性結構和非線性結構。
線性結構:對(直接關係是)一對一的關係的事物(所包含的數據)的抽象描述,比如一串冰糖葫蘆、圖書館碼放的整整齊齊的一排書等
非線性結構:對不是一對一的關係的抽象,比如一堆書、一顆葡萄、各地的交通路線網等
計算機中的數據:計算機(目前)只能以信息流的形式接收真實數據、計算機中的真實數據(是以某種抽象結構)存放在存儲器上的(數據的真實的可用的信息就被抽象爲信息流、感謝二進制的簡單與合適甚至讓人懶得再去創造可能更好的數據表示);
邏輯關係:(這些結構都是對事物的抽象,有優點必然有缺點,矛盾但又統一)
線性結構:數組、鏈表等
非線性結構:集合、樹、圖等
相關鏈接:http://www.java63.com/