写在最前:最近总结了,整个大学所学的数据结构内容。所有的数据结构都是应该是有顺序出现的而不是相互独立,所以呢我决定从我自己的思考去把所有的数据结构还有涵盖的知识做个总结。
既然我们要了解数据结构的前世今生,我们首先得解决以下三个问题:
数据结构是什么?
数据:能被计算机所 处理的 符号的集合(基本数据类型)。结构:逻辑结构。
合起来就是,能被计算机所处理的符号的集合在人为的规划下形成的逻辑结构。
为什么要有数据结构?
数据大部分总是被存在内存中的,而内存就是一大片草原,草原上全是乌压压的整整齐齐的田鼠洞,谁也不知道这个洞里的田鼠和那个洞里田鼠有什么关系。在大自然的眼里,他们很平等都是田鼠。那田鼠为了找自己的兄弟画了兄弟的地图,为了要找父母画了父母的地图,等等。为了不同的目的总有不同的办法。
也就是说所有的数据结构都是人们在出现了实际需求之后,人们为了很好的解决需求才去想办法设计的,而数据结构也都是针对需求而言的,没有绝对的优劣。
数据结构和算法有什么关系?
算法就是解决方案的具体实现,数据结构既然是因为需求而产生的,那么我们为了解决各种各样的问题就得借助数据结构这个对象在它的基础上实现很多解决问题的方案。两者相辅相成,最终解决需求。