什么是数据?数据就是编程求解问题时需要处理的对象,可能是基本的整型、浮点型、字符
(串),也可能是比较复杂的结构体、对象。另外,对于一个程序中的数据,它们之间往往不是松散的,而是存在一定联系的,即所谓的“逻辑”关系,比如一个接一个(线性结构),一个对多个(树结构),多个对多个(图结构),等等
什么是数据结构?通俗一点讲,数据结构就是存放和管理数据的容器。最简单、最常用的数据结构是数组,大部分编程语言都提供了数组这个语法成分。但数组太简单了,有很多局限性,以致于Python语言都不提供数组了。在Python语言里,最接近数组的是列表,而列表的功能非常强大,远非数组能比。除数组外,为了满足一些特殊处理,计算机科学里引入了一些更复杂、更强大的数据结构,如向量、栈、队列、优先级队列、集合、映射等;有时也需要自己设计数据结构
数据结构中存放的数据,往往称为结点或元素。注意,在C/C++语言中,结构体可以包含不同类型的数据,这些数据称为成员;一个结构体数组里的元素仍然必须为同一种结构体类型。
为了管理存放的数据,数据结构往往还需要把对数据的操作(增、删、查、改)封装在一起,因此要设计并编程实现一种数据结构,是比较复杂的
现代编程语言(C++、Java、Python等)对常用的数据结构和算法都作了很好的实现。以C++为例,这些数据结构和算法构成了STL库,程序可以直接使用STL中的数据结构和算法