Home >Java >javaTutorial >What are the common basic data structures in Java?
stack
, also known as stack, it is a linear table with limited operations. Its restriction is that only insertion and deletion operations are allowed at one end of the table, and are not allowed at Add, search, delete, etc. operations can be performed at any other location.
Simply speaking, using a set with this structure, the access to elements has the following characteristics
1. First in, last out.
2. The entrance and exit of the stack are both at the top of the stack.
Pushing onto the stack: means storing elements at the top of the stack. Elements already in the stack move one position at a time toward the bottom of the stack.
Popping the stack: taking the element, taking out the element at the top of the stack, and moving the existing elements in the stack one position toward the top of the stack.
queue
, referred to as queue. Like the stack, it is also a linear table with limited operations. The restriction is that insertion is only allowed at one end of the table. And delete at the other end of the table.
Simply put, using a set with this structure, the access to elements has the following characteristics:
1. First in, first out
2. Queue entrance and exit Each occupies one side, for example, the left side is the entrance and the right side is the exit
Array
, is an ordered sequence of elements, and the array is in memory Create a continuous space at one end and store elements in this space. You can quickly find the corresponding data through the index.
Using this method to store data has the following characteristics:
1. It is fast to find elements, and the elements at the specified position can be quickly accessed through the index.
2. Adding and deleting elements is slow. To add an element at a specified index position, you need to create a new array, store the specified new element at the specified index position, and then copy the original array elements to the new array according to the index. To delete an element at the corresponding index position
, you need to create a new array and copy the original array elements to the position of the new array corresponding to the index according to the index. The elements at the specified index position in the original array are not copied to the new array.
Linked List
consists of a series of nodes, which can be dynamically generated at runtime. Each node consists of two parts: one is the data field that stores data elements, and the other is the pointer field that stores the address of the next node. Linked lists are divided into one-way linked lists and doubly linked lists. A doubly linked list has a reference to the previous node and a pointer to the next node, while a one-way linked list only has a pointer to the next node.
Simply put, using this collection of data structures, the data storage has the following characteristics:
Multiple nodes are connected through addresses. .
The query is slow. If you want to find an element, you need to search backwards through the connected nodes.
Add and delete quickly, you only need to modify the address connecting the next element.
Binary tree: an ordered tree with no more than 2 nodes per node
Simple understanding, a binary tree is a tree where each node A tree structure with at most two subtrees. The top node is called the root node, and the two sides are called the left subtree and the right subtree.
The red-black tree itself is a binary search number. After inserting the node, the number is still a binary search number, which means that the key values of the number are still in order.
Constraints of red-black trees:
Nodes can be red or black
The root node is black
The leaf nodes are black
The child nodes of each red node are black
The number of black nodes on all paths from any node to each leaf node is the same
##Characteristics of red-black trees:
Special speed It is fast and approaches a balanced tree. The minimum and maximum number of times to find leaf elements is no more than twice.The above is the detailed content of What are the common basic data structures in Java?. For more information, please follow other related articles on the PHP Chinese website!