随笔分类 - Data structure
摘要:无头节点的单链表中如何删除结点 在有头结点的单链表中,删除结点的方式是,通过找到删除节点的前面一个结点,将前一个结点的next指向删除结点的next pre->next = cur.next; pre 可以预设为 head(头结点),比较 pre.next 和待删除的结点,当 pre.next==d
阅读全文
摘要:迷宫问题 实现算法:递归+回溯 初始迷宫 思路 map 表示地图 i, j 表示从地图的哪个位置开始出发(1,1) 如果小球能到map[6][5] 位置,则说明通路找到 约定:当map[i][j] 为 0 表示该点没有走过;当为 1 表示墙; 2 表示通路可以走;3 表示该点已经走过,但是走不通 在
阅读全文
摘要:栈的应用(中缀表达式转逆波兰表达式) 思路: 因为中缀表达式对于操作符的优先级很不好计算,就将中缀转成计算机更容易识别的后缀表达式 中缀表达式转后缀表达式的思路步骤分析: 初始化两个栈:运算符栈s1和存储中间结果的栈s2 从左至右扫描中缀表达式 遇到操作数时,将其压入s2 遇到运算符时: 1.如果s
阅读全文
摘要:栈的应用(逆波兰表达式的计算) 因为中缀表达式对于操作符的优先级很不好计算,就将中缀转成计算机更容易识别的后缀表达式 中缀转后缀表达式写法: a+b => a b + a+(b-c) => a b c - + a+(b-c)*d => a b c - d * + a+d*(b-c) => a d b
阅读全文
摘要:约瑟夫环(单向环形链表) 准备结点类 class Boy { private int no; private Boy next; //指向下一个结点 } 准备链表类 class CircleSingleLinkedList { private Boy first = null; } 构建一个约瑟夫环
阅读全文
摘要:双向链表(增删改查) 准备结点类 结点类应该包含 前驱、后驱、DATA域 class HeroNode2 { public int no; public String name; public String nickName; public HeroNode2 next; //指向下一个结点 pub
阅读全文
摘要:数据结构:单链表(增删改查) 准备一个结点类 class HeroNode { public int no; public String name; public String nickName; public HeroNode next; //指向下一个结点 public HeroNode(int
阅读全文
摘要:数据结构:循环队列(数组实现) 首先准备基本类 class CircleArray { private int maxSize; //表示队列的最大容量 //front 就指向队列的第一个元素,也就是说arr[front] //front 初始值 0 private int front; //rea
阅读全文

浙公网安备 33010602011771号