15.数据结构和算法应用

0.大纲

1.分治法

大问题拆分成规模小的问题,往往用到递归

2.1递归技术


2.2二分查找


2.回溯法

八皇后
深度优先搜索法

3.贪心法

不一定得到的是最优解,性价比方案
判断贪心法,看每一步是不是最优解,而最终的结果不见得是最优解
0-1背包问题,就是如下,一个背包装东西只能装一种

4.动态规划法

逻辑复杂,跟分治法类似
动态规划法特点,查表,就是拆分问题,将问题记录到表,然后查表

5.案例分析

我们一般先不处理代码填空的,先处理其他的出,下面这两个我们保证拿到分,就行,代码不一定答对
  • 1.根据题目算法,带入,得出结果
  • 2.计算时间复杂度

案例1






两个都是贪心法
都是o(n),选最高的时间复杂度
不能,就是一种贪心算法,只是每部局部是最优,是得出当前情况最好的,但不见得是最优


案例2




递归式 要加上时间复杂度
渐进时间复杂度
空间复杂度,多少个交换,就是多少个交换空间 


n1+n2


6.常见选择题

  • 动态规划  最优的,是
  • 回溯法 深度优先
  • 贪心法 最小生成树 ,哈弗曼编码

基本有序的,最合适是插入排序,
如果关键字再0到9之间,最适宜的是基(计)数排序






posted @ 2020-12-21 10:30  超极本online  阅读(140)  评论(0)    收藏  举报