数据结构
李少丹
这个作者很懒,什么都没留下…
展开
-
八皇后问题(递归、回溯)
理论上应该创建一个二维数组来表示棋盘,但是实际上可以用一个一维数组解决问题。arr[8]={0,4,7,5,2,6,1,3},8个数字分别是8个元素的位置减1.在8*8格的国际象棋上摆放8个皇后,使其不能相互攻击,即任意龙哥皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。八皇后问题算法思路分析。...原创 2022-07-21 23:36:27 · 25 阅读 · 0 评论 -
递归Recursion——迷宫
是二选一的情况,不像前面的if…sout(不存在矛盾的情况),也就是说,每次递归开辟出来的栈,只满足1种情况,要么走if(),要么走else(sout)。4.约定当map[i][j]为0表示该点没有走过当为1表示墙;5.在走迷宫时,需要确定一个策略(方法)比如下->右->上->左,如果该点走不通,再回溯。重要区别在调用test(2)时候输出了,之后,递归回来,见图。当程序执行到一个方法时,就会开辟一个独立的空间(栈)2.i,j表示从地图的哪个位置开始出发(1,1)迷宫问题(回溯),递归。......原创 2022-07-21 17:51:48 · 30 阅读 · 0 评论 -
前缀、中缀、后缀表达式
中缀表达式是我们人最熟悉的,但是对计算机来说确实不好操作。因此,在计算结果时,往往会将中缀表达式转成其他表达式来操作(一般转成后缀表达式)。(3+4)*5-6对应的前缀表达式--*+3456。(3+4)*5-6后缀表达式34+5*6-(3+4)*5-6的中缀表达式(3+4)*5-6。后缀表达式逆波兰表达式。这三种表达式的计算机求值。例如(3+4)*5-6。前缀表达式波兰表达式。.........原创 2022-07-16 23:12:51 · 73 阅读 · 0 评论 -
栈2——实现(中缀表达式)计算器1——单个字符的四则运算
用简单的实例来写思路、代码)原创 2022-07-16 00:41:02 · 31 阅读 · 0 评论 -
栈1——数组建栈
请问计算机底层是如何运算得到结果的?注意不是简单的把算式列出计算,因为我们看这这个算式7*2*2-5+1-5+3-3,但是计算机怎么理解这个算式的(对计算机而言,它接收的就是一个字符串),我们讨论的是这个问题–>栈。计算式[7*2*2-5+1-5+3-3]使用数组来模拟栈----思路分析。......原创 2022-07-15 22:58:58 · 35 阅读 · 0 评论 -
稀疏数组
线性结构、非线性结构原创 2022-07-12 13:29:00 · 123 阅读 · 2 评论 -
队列Queue
——以数组的形式1)图中左边的队列是空的,此时,2)图中中间的队列存入了4个元素(arr[0], arr[1], arr[2], arr[3])随着元素的增加,rear++3)图中右边的队列释放了2个元素(arr[0], arr[1])代码原创 2022-07-13 00:46:49 · 45 阅读 · 2 评论 -
单链表1...
,,原创 2022-07-13 23:55:49 · 28 阅读 · 0 评论 -
反转单链表
思路原先linkedList1:head1 -> node1 -> node2 -> node3反转后LinkedList2:head2 -> node3 -> node2 -> node1原创 2022-07-14 13:25:51 · 20 阅读 · 0 评论 -
双向链表1
2、双向链表的遍历,添加,修改,删除。双链表操作思路-->代码实现。1、使用带head头的。原创 2022-07-15 00:04:21 · 22 阅读 · 0 评论 -
约瑟夫问题
Josepfu问题为:设编号为1,2,···,n的n个人围坐一圈,原定编号为k(1原创 2022-07-15 15:11:20 · 51 阅读 · 0 评论