Sartaj Sahni在他的《数据结构、算法与应用》一书中称:“数据结构是数据对象,以及存在于该对象的实例合组成实例的数据元素之间的各种联系。这些联系可以通过定义相关的函数来给出。”他将数据对象(data object)定义为“一个数据对象是实例或值的集合”。
Clifford A.Shaffer在《数据结构与算法分析》一书中的定义是:“数据结构是 ADT(抽象数据类型Abstract Data Type) 的物理实现。”
大话数据结构:数据结构是相互之间存在一种或多种特定关系的数据元素的集合。
姥姥:数据结构包括数据对象集以及它们在计算机中的组织方式,即它们的逻辑结构和物理存储结构,同时还包括与数据对象集相关的操作集,以及实现这些操作的最高效的算法。
个人:就是把图书馆中的书转化为一些字符数据存入电脑中,以及对这些数据对象集的操作。如找书,摆放放书等。
还是图书馆的例子,如果一本一本找累死人,要是有个索引,先找哪一类这样会快很多。如何查找其实就是算法。
算法是解决问题步骤的有限集合,通常用某一种计算机语言进行伪码描述。通常用时间复杂度和空间复杂度来衡量算法的优劣。
算法的五大特征:输入、输出、有穷性、确定性、可行性。
输入:零个或多个输入。
输出:一个或多个输出。
有穷性:有限步骤后在可接受时间内完成。
确定性:每个步骤都有确定含义,无二义性。
可行性:每一步都是可行的。
算法设计要求:正确性、可读性、健壮性、时间效率高和存储低。
正确性:有输入输出,无二义性,有正确答案。
可读性:方便阅读。
健壮性:输入不合法能处理
时间效率高和存储低:时间空间复杂度越低越好
以上是数据结构中什么是算法的详细内容。更多信息请关注PHP中文网其他相关文章!