静态查找和动态查找 静态查找:数据集合稳定,不需要添加,删除元素的查找操作 动态查找:数据集合在查找的过程中需要同时添加或删除元素的查找操作 对于静态查找来说,我们不妨可以用线性表结构组织数据,这样可以使用顺序查找算法,如果我们再对关键字进行排序,则可以使用折半...
Continue reading图的遍历 深度优先遍历 深度优先遍历(Depth First Search),也称为深度优先搜索,简称DFS 它的具体思是:无论从哪个定点开始都可以遍历所有顶点 现在要遍历这样一个图: 我们约定右手原则:在没有碰到重复顶点的情况下,分叉路口始终是向右手边...
Continue reading图基础 图的定义 图(Graph)是由定点的又穷非空集合和定点之间边的集合组成,通常表示为:G(V,E),其中G表示一个图,V是图G顶点的集合,E是图G中边的集合 线性表中我们把数据元素叫元素,树中叫结点,在图中数据元素我们则称之为顶点(Vertex) 线性表可...
Continue reading题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 方法 s1是入栈的,s2是出栈的 入队列:直接压入s1即可 出队列:如果s2不为空,把s2中的栈顶元素直接弹出;否则,把s1的所有元素全部弹出压入s2中,再弹出s2的栈顶元素 p...
Continue reading题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 分析 根节点肯定是前序遍...
Continue reading题目描述 输入一个链表,从尾到头打印链表每个节点的值。 链表结构 public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val...
Continue reading题目描述 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 方法:使用Java中String的replace()方法 public class Solution { ...
Continue reading题目描述 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 数组不一定等长 方法一:暴力求解 遍历,然后挨个比较就可以了 public class So...
Continue reading