数据结构与算法(一)

数据结构的分类

高级的数据结构可以分为两类

  • 原始数据结构
  • 非原始数据结构
原始数据结构 -由编程语言提供的数据结构
因此,假设您使用的是Java,这些数据结构已经由Java语言定义。
对于其他编程语言也是如此。

非原始数据结构,可以将其分为物理上的两类:
·       逻辑数据结构
·       物理数据结构
逻辑数据结构是独立实现的,并且它们实际存在RAM中。
但是,当涉及到诸如Q树图之类的逻辑数据结构甚至是对这些数据结构进行哈希处理时,本质上是逻辑上的,并且它们的实现依赖于物理数据结构
 
比如:

让我们看看堆栈,堆栈具有其自身的Push Pop概念。
但是,当涉及到实现时,它既可以在Array中实现,也可以使用 Linkedlist实现。没有第三种选择。
同样,Queue 的实现也是如此。
我们可以清楚地看到,这里的这些数据结构本质上是合乎逻辑的。那就是他们有自己的概念或自己的计算数据的方式。
但是当涉及到实现时,他们必须通过物理数据结构实现。
 

为什么我们有这么多不同类型的数据结构?

答案很简单。
所有这些数据结构都有其自己的属性,这在大多数情况下是非常独特的。
因此,根据遇到的问题,我们必须对数据结构进行最佳选择。
比如计算从一个城市到另一个城市的距离,图看起来很完美。
对于一个有孩子有父亲的情况。Tree是一个很好的选择。
 
原文地址:https://www.cnblogs.com/yjyyjy/p/12951523.html