深入浅出数据结构与算法(微课视频版)
上QQ阅读APP看书,第一时间看更新

1.5.1 数据结构与算法的关系

算法与数据结构关系密切,两者既有联系又有区别。数据结构与算法的联系可用一个公式描述:

程序=算法+数据结构

数据结构是算法实现的基础,算法依赖于某种数据结构才能实现。算法的操作对象是数据结构。算法的设计和选择要同时结合数据结构,只有确定了数据的存储方式和描述方式,即数据结构确定了之后,算法才能确定。例如,在数组和链表中查找元素值的算法实现是不同的。算法设计的实质就是对实际问题要处理的数据选择一种恰当的存储结构,并在选定的存储结构上设计一个好的算法。

数据结构是算法设计的基础。比如你要装修房子,装修房子的设计就相当于算法设计,而如何装修房子是要看房子的结构设计,不同的房间结构,其装修设计是不同的,只有确定了房间结构,才能进行房间的装修设计。房间的结构就像数据结构。算法设计必须要考虑到数据结构的构造,算法设计是不可能独立于数据结构存在的。数据结构的设计和选择需要为算法服务,根据数据结构及特点,才能设计出好的算法。