随笔分类 -  Data structure

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