数据结构:
数据存储的常用结构:栈、队列、链表、红黑树
栈:
staclk,又称为堆栈,他是运算受限的线性表,它的限制主要体现仅允许在标的的一端进行插入和删除操作不允许在其他任何位置进行添加、查找、删除等操作。
它的存取有以下特点:
1.先存后出(存进去的元素,要在它的后面的元素一次取出后,才能取出该元素)
2.栈的入口出口都在栈的最顶端位置。
有两个名词需要注意:
压栈:就是存元素。即:把元素存储到栈的最顶端 ,栈中已有的元素依次向栈顶方向移动一个位置。
弹栈:就是取元素。即:把栈的最顶端位置元素取出,栈中已有元素依次向栈顶方向移动一个位置。
队列:
queue,简称队,他和堆栈是一样的,也是一种运算受限的线性表,它的限制是仅允许在标的一端进行插入,而在标的另一端进行删除。
它的存取有以下特点:
1.先进先出(即,存进去的元素,要在它前面的元素依次取出后,才能取出该元素)汽车过隧道、山洞
2.队列的入口和出口各占一端
队头 队尾 入队 出队
数组:
Array,是有序的元素序列,数组是在内存中开辟一段连续的空间,并在此空间中存储元素。
数组存储有以下特点:
1.查找元素快
2.增删元素慢
2.1可以在指定索引位置删除元素。
2.2可以在指定索引位置增加元素。
链表、二叉树、红黑树