
数据结构
文章平均质量分 92
诗酒赠佳人
生命不息 奋斗不止
展开
-
【数据结构】利用栈来求算术表达式的值
import java.util.Scanner;import java.util.Stack;import java.util.regex.Pattern;public class CalculateUtils{public static final Pattern UNSIGNED_DOUBLE = Pattern.compile("((\\d+\\.?\\d*原创 2015-07-03 17:10:05 · 936 阅读 · 0 评论 -
【数据结构】Java单链表的逆序
内容转载来自:单链表逆序 第二个题目是很经典的“单链表逆序”问题。很多公司的面试题库中都有这道题,有的公司明确题目要求不能使用额外的节点存储空间,有的没有明确说明,但是如果面试者使用了额外的节点存储空间做中转,会得到一个比较低的分数。如何在不使用额外存储节点的情况下使一个单链表的所有节点逆序?我们先用迭代循环的思想来分析这个问题,链表的初始状态如图(1)所示:转载 2015-07-02 11:48:03 · 4357 阅读 · 0 评论 -
【数据结构】栈的链表实现
import java.util.EmptyStackException;public class LinkedStack implements Cloneable{ private Node top; public LinkedStack() { top = null; } public LinkedStack clone() { LinkedStack ans原创 2015-07-10 11:27:11 · 435 阅读 · 0 评论 -
【数据结构】复杂表达式的求值
一、表达式的三种表示法1. 中缀表示法 运算符放在两个运算对象中间,这是我们书写的时候最熟悉的一种形式,如:(2 + 3)* 72. 前缀表示法 前缀是附加在表达式前面的内容。又称为波兰前缀表示法,因为他是由波兰数学家Jan Lukasiewicz发明的。使用前缀表示法后,就完全不需要括号了。例如,表达式(2 + 3)* 7以波兰前缀表示法可以写成: *原创 2015-07-09 10:57:41 · 1702 阅读 · 0 评论 -
【数据结构】栈的数组实现
import java.util.EmptyStackException;public class ArrayStack implements Cloneable{ private T[] data; private int manyItems; // 默认构造函数 public ArrayStack() { final int INITIAL_CAPACITY = 10;原创 2015-07-10 11:22:47 · 373 阅读 · 0 评论 -
N皇后 问题
本内容转载来自:点击打回溯法求解N皇后问题(Java实现回溯法:也称为试探法,它并不考虑问题规模的大小,而是从问题的最明显的最小规模开始逐步求解出可能的答案,并以此慢慢地扩大问题规模,迭代地逼近最终问题的解。这种迭代类似于穷举并且是试探性的,因为当目前的可能答案被测试出不可能可以获得最终解时,则撤销当前的这一步求解过程,回溯到上一步寻找其他求解路径。为了能够撤销当前的求转载 2015-07-11 11:16:09 · 382 阅读 · 0 评论 -
【数据结构】图
转载来自:数据结构之图一、基本术语图:由有穷、非空点集和边集合组成,简写成G(V,E);Vertex:图中的顶点;无向图:图中每条边都没有方向;有向图:图中每条边都有方向;无向边:边是没有方向的,写为(a,b)有向边:边是有方向的,写为有向边也成为弧;开始顶点称为弧尾,结束顶点称转载 2015-09-04 15:43:54 · 570 阅读 · 0 评论 -
【数据结构】图的遍历
转载来自:深度优先搜索与广度优先搜索转载 2015-09-03 22:58:04 · 514 阅读 · 0 评论