数据结构与算法——左程云09

【前言】:

后续有时间会将纸质笔记中的过程图更新上来。

【1】:

【Dijkstra使用堆加速】:

  • 《@@119_1》

【这个方式还可以加速】:

//可以通过小根堆的方式来拿值。

//系统堆所不具备:

​ 修改某一处的值 , 并且让这个堆再重新调整结构。(系统堆是做不到的)

​ //你不能具体到修改堆结构中的某处值,并让这个堆重新调整结构。

  • 改堆的能力是我们一定要具备的!!!

有些题目只能自己改堆,这部分题目会在中、高级班里讲解。

【2】:左神自述

【左神的自述】:

其实我本人的实力并没有多强。完全是因为讲课这个东西好弄,我没有参加过比赛,因为我开始搞算法已经是去芝加哥大学读书的时候才开始搞算法的,当时完全是为了找工作。刷到今天大概有七、八年了,并没有拿到牌子,因为本科的时候,没有搞过这个,研究生的时候才开始搞这个。

【3】:暴力递归

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1DhpZsRn-1663994465328)(/Users/yuguangyao/Library/Application Support/typora-user-images/image-20220915173041788.png)]

【最好的启发点】:

怎么去尝试一个问题。

​ //只要尝试方法试出来,改动态规划就是一步到位的事情。

尝试方法就是种子——有了种子之后,如何去优化呢???

【术语无必要】:

暴力递归完全是依靠天赋的,怎么尝试才能把一个东西给尝试出来,这个东西一定是靠天赋的。

  • 一个东西怎么试呢?

//如何尝试一个问题——这个的确需要天赋;

//只要尝试方法试出来了,改动态规划就是一步到位的事。——这个尝试方法又叫做种子,有了种子之后,如何去优化呢?

【其它别名】:

其它的别名——回溯、分支限界;

//彻彻底底穷举的方式来将一个答案试出来的方式就叫做——暴力递归;

//国内喜欢起名词,面对新手希望通过一个个名词来怼死~

【4】:训练题

【汉诺塔】:

  • 打印N层汉诺塔从最左边移动到最右边的全部过程!!!

  • 《@@120_2》

//尝试的时候不要想——全局到底咋回事儿。

?全局到底如何?

【字符串全部子序列】:

  • 打印一个字符串的全部子序列,包括空字符串。

【字符串的全部排列】:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VOSjJiTf-1663994465329)(/Users/yuguangyao/Library/Application Support/typora-user-images/image-20220916103434924.png)]

【方式一】:

//每个位置从能选的集合中进行随机选择。

第一个位置——N种可能性。

第二个位置——(N-1)种可能性。

//以此类推。

  • 《@@123_4》

【1:17:36】:

此处些许内容没听太明白!!!

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QPNZQOIi-1663994465330)(/Users/yuguangyao/Library/Application Support/typora-user-images/image-20220916114326344.png)]

【放开】:

不重复的全排列~~~!!!

【不放开】:

所有的全排列~~~!!!

【分支限界】:

走分支的时候就杀死不可能的分支,会得到更快的方法。——( 1:18:06 )

​ //指标上没有优化,但是常数项上有优化。

此即——分支限界( 比最后洗数据的方式要强 )。

【先后手】:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fzpZAblB-1663994465330)(/Users/yuguangyao/Library/Application Support/typora-user-images/image-20220916124648281.png)]

【回顾之前的试法】:

之前都是从左往右,每个位置的i位置做一个决定;

  • 《@@123_5》

//试法没有办法教你,每一道题它的试法都是不一样的。

【 逆序栈 】:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-v6Ozj7nr-1663994465331)(/Users/yuguangyao/Library/Application Support/typora-user-images/image-20220916162718506.png)]

  • 《@@125_6》

//递归函数其实就是——系统栈;

//其实就是在问你——系统栈这种结构,如何让其逆序?

【 数字字符串 】:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-n1DI2auO-1663994465331)(/Users/yuguangyao/Library/Application Support/typora-user-images/image-20220917195807165.png)]

  • 《@@127_7》

【 袋子最多价值 】:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-las96A26-1663994465332)(/Users/yuguangyao/Library/Application Support/typora-user-images/image-20220918180400161.png)]

//从左往右,要或不要全部展开~( 1号货要或不要展开 , 2号货要或不要展开 )——> 求出全部的可能看一看?

//重量永远不要超过bag。

【可变参数形式】:

可变参数形式最简单(一个值就优于一个链表),可变参数数量最少的试法为优。

可变参数形式最简单,固定参数不管。

【改动态规划的基础】:

​ 后面改动态规划的基础,形式越简单,数量越少,你越容易改动态规划,改动态规划的成败完全决定于你的试法。

  • 试法是自然智慧!

试法一旦搞定就什么都有了,动态规划是根据试法来的。

【N皇后】:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XaELIlgv-1663994465332)(/Users/yuguangyao/Library/Application Support/typora-user-images/image-20220918183302830.png)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值