数组:
数组是存储在连续内存位置中的同类(相同类型)数据项的集合。例如,如果数组的类型为“ 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现场课程美国》。