数据结构的概述
定义
我们如何把现实中大量而反复的问题以特定的数据类型和特定的存储结构保存到主存储器(内存)中,以及在此基础上为实现某个功能(比如查找某个元素,删除某个元素,对所有元素进行排序)而执行的相应的操作,这个相应的操作也叫做算法。
数据结构=个体+个体的关系
算法=对存储数据的操作
狭义:
数据结构是专门研究数据存储的问题
数据的存储包含两方面:个体的存储 + 个体关系的存储
广义:
数据结构既包含数据的存储也包含数据的操作
对存储数据的操作就是算法
算法
狭义:
算法是和数据的存储方式密切相关
广义:
算法和数据的存储方式无关,这就是泛型思想
衡量算法的标准:
(1) 时间复杂度
大概程序要执行的次数,而并非是执行的时间(因为同一程序在不同机器上执行的时间是不一样的,有差异)
(2) 空间复杂度
算法执行过程中大概所占用的最大内存
(3) 难易程度
(4) 健壮性
数据结构的地位:
数据结构是软件中最核心的课程
程序 = 数据的存储 + 数据的操作 + 可以被计算机执行的语言