数据结构到底是什么?

简介: “数据结构是数据对象,以及存在于该对象的实例和组成实例的数据元素之间的各种联系。这些联系可以通过定义相关的函数来给出。” ——《数据结构、算法与应用》

数据结构到底是什么?


什么是数据结构?


“数据结构是数据对象,以及存在于该对象的实例和组成实例的数据元素之间的各种联系。这些联系可以通过定义相关的函数来给出。” ——《数据结构、算法与应用》


“数据结构是 ADT (抽象数据类型 Abstract Data Type)的物理实现。” ——《数据结构与算法分析》


“数据结构(data structure)是计算机中存储、组织数据的方式。通常情况下,精心选择的数据结构可以带来最有效率的算法。” ——中文维基百科


  • 以上是三个地方对于数据结构的官方解释,不利于理解,所以换种方法,帮助理解数据结构:数据结构就是在计算机中,存储和组织数据的方式。


  • 解决问题方法的效率,跟数据的组织方式有关。计算机中存储的数据量庞大,种类很多。


常见的数据结构


  • 常见的数据结构较多:

1.png

-   每一种都有其对应的应用场景,`不同的数据结构` 的`不同操作`性能是不同的。

生活中的数据结构


  • 图书的摆放:为了更加方便的插入和搜索书籍,需要合理的组织数据,并且通过更加高效的算法插入和查询数据。
  • 快递:采用合理的数据结构摆放快递,快递员就可以很快的找到快递。
  • 如果北京到杭州有一座 1000km 高架桥,有一天其中 1m 出现故障,那么怎么可以快速定位出故障的位置(线性查找需要 50w 次,二分查找法需要 20 次)。


数据结构


  • JavaScript 的数组就是 API 的调用。


  • 补充:普通语言的数组封装(比如 Java 的 ArrayList )
  • 常见语言的数组不能存放不同的数据类型,因此所有在封装时通常存放在数组中的是 Object 类型。
  • 常见语言的数组容量不会自动改变(需要进行扩容操作)。
  • 常见语言的数组进行中间插入和删除操作性能比较低。
相关文章
|
4月前
|
存储 C++
c++数据结构
c++数据结构
40 0
|
11月前
|
存储 机器学习/深度学习 算法
进入数据结构的世界
进入数据结构的世界
|
4月前
|
存储 程序员 定位技术
什么是数据结构
什么是数据结构
72 1
|
4月前
|
存储 算法 C#
C#编程与数据结构的结合
【4月更文挑战第21天】本文探讨了C#如何结合数据结构以构建高效软件,强调数据结构在C#中的重要性。C#作为面向对象的编程语言,提供内置数据结构如List、Array和Dictionary,同时也支持自定义数据结构。文章列举了C#实现数组、链表、栈、队列等基础数据结构的示例,并讨论了它们在排序、图算法和数据库访问等场景的应用。掌握C#数据结构有助于编写高性能、可维护的代码。
41 3
|
4月前
|
算法 C++ 开发者
【C/C++ 数据结构 】 连通图的基本了解
【C/C++ 数据结构 】 连通图的基本了解
59 0
|
4月前
|
存储 算法
数据结构
数据结构
42 2
|
4月前
|
算法
数据结构22
数据结构22
20 0
|
10月前
|
存储 算法 容器
数据结构 > 什么是数据结构?
数据结构 > 什么是数据结构?
|
存储 算法
【数据结构】初识(下)
【数据结构】初识(下)
63 0
|
存储 机器学习/深度学习 人工智能
对数据结构的初步认识
对数据结构的初步认识
120 0