序言:
还记得think in java 中Everything Is an Object一章那句引言吗?
人类文明发展的今天,科学技术进步以及对世界的认知可谓空前,而我们对世界的认识完全是对抽象事物的具体限定。
比如说:人类
人类抽象出来的具体实例那就是单独的“个体人”
但是真的是这样么,比如(外部联系)地球这个大生态系统中:人(消费者)不能离开空气和水、离不开植物(生产者)和微生物(消费/分解者);再如(内部联系)人要说话离不开声带的震动、人会有疼痛感和饥饿感离不开神经传导。
或许某些情况下确实是有用处(一般大家都这么说),但是久而久之你可能就会忽略掉那个“大局”,即事物之间既有联系又是独立的。
简介:(不涉及具体算法)
什么是数据:信息的载体,拿自己打比方,自己包含的数据:是一个人(概念限定),包含了(概念限定)头-->脚、组织-->细胞、神经元、基因等-->外界的事物(“-->”表示映射,两端可以抽象成某个整体的特定属性以某种关系对应)。
什么是数据结构:数据结构是数据的组织方式,是一种用抽象结构来对数据的描述,包括线性结构和非线性结构。
线性结构:对(直接关系是)一对一的关系的事物(所包含的数据)的抽象描述,比如一串冰糖葫芦、图书馆码放的整整齐齐的一排书等
非线性结构:对不是一对一的关系的抽象,比如一堆书、一颗葡萄、各地的交通路线网等
计算机中的数据:计算机(目前)只能以信息流的形式接收真实数据、计算机中的真实数据(是以某种抽象结构)存放在存储器上的(数据的真实的可用的信息就被抽象为信息流、感谢二进制的简单与合适甚至让人懒得再去创造可能更好的数据表示);
逻辑关系:(这些结构都是对事物的抽象,有优点必然有缺点,矛盾但又统一)
线性结构:数组、链表等
非线性结构:集合、树、图等
相关链接:http://www.java63.com/