算法与数据结构
文章平均质量分 66
算法与数据结构
X1nZz
这个作者很懒,什么都没留下…
展开
-
算法(java):迷宫回溯问题解决
迷宫回溯问题有一个迷宫地图,有一些可达的位置,也有一些不可达的位置(障碍、墙壁、边界)。从一个位置到下一个位置只能通过向下(或者向右、或者向上、或者向左)走一步来实现,从起点出发,如何找到一条到达终点的通路。图例当碰到边框或者障碍的时候就转向:代码package main.java.com.youxin.recursion;public class Maze { public static void main(String[] args) { /* *原创 2021-09-14 18:55:34 · 237 阅读 · 0 评论 -
算法(java):八皇后问题解决
八皇后问题八皇后问题如果用穷举法需要尝试88=16,777,216种情况。每一列放一个皇后,可以放在第 1 行,第 2 行,……,直到第8行。穷举的时候从所有皇后都放在第1行的方案开始,检验皇后之间是否会相互攻击。如果会,把列H的皇后挪一格,验证下一个方案。移到底了就“进位”到列G的皇后挪一格,列H的皇后重新试过全部的8行。这种方法是非常低效率的,因为它并不是哪里有冲突就调整哪里,而是盲目地按既定顺序枚举所有的可能方案。回溯算法优于穷举法。将列A的皇后放在第一行以后,列B的皇后放在第一行已经发生冲突。原创 2021-09-15 17:31:23 · 299 阅读 · 0 评论 -
正则表达式(Regular Expression)基本概念及理解
正则表达式(Regular Expression)正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。构造正则表达式的方法和创建数学表达式的方法一样。也就是用多种元字符与运算符可以将小的表达式结合在一起来创建更大的表达式。正则表达式的组件可以是单个的字符、字符集合、字符范围、字符间的选择或者所有这些组件的任意组合。正则表达式是由普通字符(例如字符 a 到 z)以及特殊原创 2021-08-17 18:30:31 · 4206 阅读 · 0 评论 -
用正则表达式和栈的数据结构实现一个能够加减乘除的简单计算器(java)
栈栈作为一种数据结构,是一种只能在一端进行插入和删除操作的特殊线性表。它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。栈具有记忆作用,对栈的插入与删除操作中,不需要改变栈底指针。栈是允许在同一端进行插入和删除操作的特殊线性表。允许进行插入和删除操作的一端称为栈顶(top),另一端为栈底(bottom);栈底固定,而栈顶浮动;栈中元素个数为零时称为空栈。插入一般称为进栈(PUSH),删除则称为退栈(POP)。栈也称原创 2021-08-27 16:58:07 · 585 阅读 · 0 评论