数据结构
数据结构相关
路灯下的女孩
这个作者很懒,什么都没留下…
展开
-
二叉排序树的构造、深度优先遍历、广度优先遍历
之前面试官总是会问到二叉树的遍历,自己回答的很不好。甚至可以说想都想不起来。真的应了老师应常说的那句话,你们学的东西都还给老师了啊。。。这两天在看mysql优化的时候看到了B树,然后去查阅B树的知识,又知道B树又跟二叉排序树脱不了关系。于是就整理了这篇关于二叉排序树的相关知识。 首先我们知道,二叉排序树的特征有:(1)如果一个节点的左子树不空,那么左子树的所有节点的值均小于该节点原创 2017-09-15 14:04:07 · 822 阅读 · 0 评论 -
用两个栈实现队列
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。package Offer;import java.util.Stack;/*Created By guolujie 2017年10月18日*/public class TwoStackToQueue { Stack stack1 = new Stack(); Stack stack2 = new原创 2017-10-18 15:43:22 · 181 阅读 · 0 评论 -
删除ArrayList表中的偶数
今天在学习链表的时候,有一个小例题:删除表中的偶数,使用的是ArrayList。我所学习的《数据结构与算法分析》这本书中只给出了使用remove删除偶数的算法,其他的创建一个数组对象,从键盘接收数组元素等等,是我自己添加的。小程序如下:public class Remove {//删除表中的偶数 public static void removeEvensVer1(...原创 2017-07-20 18:55:29 · 2773 阅读 · 0 评论 -
栈(LIFO:后进先出)
(一)栈LIFO 栈是一种限制插入和删除只能在一个位置上的表。这个位置就是栈顶(top)。普通的清空栈的操作和测试栈是否为空的操作,都是栈的指令系统的一部分。其中我们能对栈直接进行的操作只有基本操作:push(入栈)、pop(出栈)。原创 2017-07-20 21:55:56 · 3279 阅读 · 0 评论 -
List ADT的两种实现方式:ArrayList和LinkedList
List ADT 有两种实现方式:ArrayList和LinkedList。现在我对这两种方式的优缺点进行了一下总结:1.ArrayList类提供了List ADT 的一种可增长数组的实现 优点:访问数据的时候花费的时间少,对get和set的调用花费常数时间; 缺点:新的数据项的增加和删除代价非常的昂贵,增加和删除数据项的时候,需要将所变动位置之后的所有的数据项的位置都需要原创 2017-07-18 18:55:51 · 1567 阅读 · 1 评论