📜  数组和树之间的区别

📅  最后修改于: 2021-05-19 19:43:52             🧑  作者: Mango

数组

数组是存储在连续内存位置中的同类(相同类型)数据项的集合。例如如果数组的类型为“ int”,则它只能存储整数元素,而不能允许其他类型的元素,例如double,float,char等。

  • 该阵列是线性数据结构,其中元素存储在连续的存储位置中。
  • 在数组中,我们将相同数据类型的元素存储在一起。
  • 当元素存储在连续的内存位置时,它具有基于索引的寻址。
  • 索引从0开始,一直到(N – 1) ,其中N是数组中元素的数量。
  • 由于数组允许O(1)中元素的随机访问。它使按位置访问元素的速度更快。
  • 数组的最大缺点是无法增加其大小。

下面是数组的一般表示形式:

该树表示通过边连接的节点。二进制树或二进制搜索树。二进制树是用于数据存储目的的特殊数据结构。二叉树有一个特殊的条件,即每个节点最多可以有两个孩子。二叉树既有序数组又有链表的好处,因为搜索与排序数组一样快,插入或删除操作也与链表一样快。

  • 树是从根节点开始的一组节点。
  • 每个节点都有一个特定的父节点,可能有也可能没有多个子节点。
  • 每个节点都包含一个值和对子节点的引用。
  • 这是一种图形数据结构,但是没有周期并且完全连接。
  • 可视化树数据结构的最佳示例是可视化自然的根树。

数组和树之间的表格差异

Parameter Array Tree
Nature It is a linear data structure It is a linear non-linear data structure
Base Notion 0th Index of the array The root of the Tree
Successor Element at reference_index + 1 Child nodes of the current node.
Predecessor Element at reference_index – 1 Parent of the current node.
Natural Intuition Staircase model with the base staircase as the ith index The best example to visualize the tree data structure is to visualize a natural rooted tree.
Order of Insertion Usually an element inserted at current_index + 1 Depends on the type of tree.
Order of Deletion At any index but after deletion elements are rearranged Depends on the type of tree.
Insertion Complexity

O(1)->Insertion at end.

O(N)->Insertion at random index.

Depends on the type for example AVL- O(log2N).
Deletion Complexity

O(1)->Deletion from end.

O(N)->Deletion from a random index.

Depends on the type for example AVL- O(log2N).
Searching O(N) Depends on the type for example AVL- O(log2N).
Finding Min O(N) Depends on the type for example Min Heap- O(log2N).
Finding Max O(N) Depends on the type for example Max Heap- O(log2N).
IsEmpty O(1) Mostly O(1)
Random Acess O(1) Mostly O(N)
Application Arrays are used to implement other data structures, such as lists, heaps, hash tables, deques, queues and stacks., Fast search, insert, delete, etc.

如果您希望与行业专家一起参加现场课程,请参阅《 Geeks现场课程》和《 Geeks现场课程美国》。