一.队列(Queue)
1.基本概念:队列是只允许在队尾添加数据,在队头(Front)删除数据的线性表。
2.遵循规则:先进先出(First In First Out) FIFO
3.小练习:
题目:
首先将一个数组的第一个数删除,紧接着将第二个数放到这串数字的末尾,再将第三个数删除,将第四个数放到这串数字的末尾,以此类推,直到只剩下最后一个数字,并将最后一个数字删除,将这些删除的数字连在一起。
运行结果:
二.栈(Stack)
1.基本概念:栈是只允许在栈顶(Top)进行删除和插入的线性表。
2.遵循规则:先进后出(First In Last Out) FILO
3.操作规则:压栈(push),弹出(pop)
4.小练习:
题目:
随便输入一个字符串,检测字符串是否为回文字符串。
PS:题就一句话,很简练吧。想做这道题,我们首先要了解下回文是什么东东,所谓回文,就是一个正读反读都一致的字符串。以为了解到这就over了? 我们还要想想这个字符串的字符个数是奇数还是偶数,奇数就很简单了,找到中间点 ·····。好啦 就提醒到这
运行结果:
三.堆(Heap)
1.基本概念:堆可以看做是一个二叉树的数组对象。
2.遵循规则:从根节点开始,每个节点都可以有左右节点,元素优先将每一层 按照从左到右的方式填满,就是父节点最多有两个节点,有右节点一定有对应的左节点,每一层的某个节点的左节点一定是被填满的。
3.分类 :最大堆(根节点比子节点的元素都小),最小堆(根节点比子节点的元素都大),但对于左右节点的大小没有规定。
未完,待更新…