随笔分类 - 数据结构与算法(Java)
回溯法解决迷宫求解问题
摘要:一、迷宫求解问题 如下图小球在起点(1,1)需要移动到终点(6,5),求能否顺利到达终点,若能,路径是什么。 下图即为采用 下 右 上 左的策略得出的结果。 二、解决思路 用二维数组map存放小地图,其中, 如果元素为0,则为未走过的空闲节点 如果元素为1,则表示为墙 如果元素为2,表示可以走 如果
阅读全文
回溯法解决八皇后问题
摘要:一、八皇后问题简介 八皇后问题 ,一个古老而著名的问题,是回溯算法的典型案例。该问题由国际西洋棋棋手马克斯·贝瑟尔于 1848 年提出:在 8×8 格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。高斯认为有 76 种方案。1854
阅读全文
中缀表达式转为后缀表达式(逆波兰式)求值
摘要:一、中缀与后缀表达式的介绍 1.中缀表达式 中缀表达式是一个通用的算术或逻辑公式表示方法。中缀表达式(或中缀记法)是一个通用的算术或逻辑公式表示方法, 操作符是以中缀形式处于 "操作数" 的中间(例:3 + 4),中缀表达式是人们常用的算术表示方法。 与 "前缀表达式" (例:+ 3 4)或
阅读全文
中缀表达式求值的思路分析与代码实现
摘要:一、问题与解决办法 1.问题 输入一个任意给定的合理包含四则运算的表达式字符串,求解出其结果; 例如:1)“ 7\ 2\ 2 5+1 5+3 4 ” 求解出结果为:18 2.思路 1. 设置两个栈,一个数字栈numStack,用于存储表达式中涉及到的数字,operatorStack用于存
阅读全文
数据结构之栈(stack)的实现
摘要:一、栈 1.定义 1. 栈的英文为(stack),是一种数据结构 2. 栈是一个 先入后出 (FILO First In Last Out)的有序列表。 3. 栈(stack)是限制线性表中元素的插入和删除 只能在线性表的同一端 进行的一种特殊线性表。允许插入和删除的一端,为变化的一端,称为 栈顶
阅读全文
单向环形链表解决约瑟夫环(Josephus)问题
摘要:一、约瑟夫环问题 Josephu 问题为:设编号为1,2,… n的n个人围坐一圈,约定编号为k(1nums){ System.out.println("参数输入有误"); return; } //创建辅助指针helper即要出圈小孩的前一个节点 Boy helper = first; while (
阅读全文
浙公网安备 33010602011771号