2021-01-20

学习内容:

1、Java的类、构造方法
2、博弈基础
3、刷题
4、栈和队列

学习时间:

8:00~8:05 签到
9:00~12:00 Java的类、构造方法
1:00~2:30 刷题
3:00~4:30博弈基础
5:00~6:00 栈和队列
今天学习了一下博弈基础后面两个,完全懵逼,看别人推理的头头是道,复习了一下队列和栈,栈的四则运算看的也是懵逼。
威佐夫博奕
例子:有两堆糖果,a、b,(a<b),两个人轮流从某一堆或同时从两堆中取同样多的物品,规定每次至少取一个,多者不限,最后取光者得胜。
公式:
if((b-a)*(1+sqrt(5))/2.0==a) printf("后手赢"); else printf("先手赢");
反尼姆博弈
例子:在n堆糖果中,每人每次只能在一堆里面拿1~无限个,当取完最后一个时该人失败。
公式:当全部异或为0&&每堆糖果数量都不大于1||异或不为0&&有糖果堆数量大于1。

原理:只能在表的一端进行插入和删除的运算的线性表,先进后出。
四则运算
前缀表达式
中缀表达式
后缀表达式
构造出二叉树,然后用前、中、后缀遍历,即可得。
后缀计算原理
从左到右遍历,遇到数字进栈,符号,将栈顶两数字出栈计算,计算是后运算符前,然后将结果进栈。
队列
原理:在后面删除数据,在前面插入数据。先进先出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值