| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> 蓝桥杯算法(python) -> 正文阅读 |
|
[数据结构与算法]蓝桥杯算法(python) |
蓝桥杯第三级别——算法。 蓝桥杯的考察重点:加黑重点 (括号内了解) ????????算法:枚举、排序、搜索、计数、贪心、动态规划、图论、数论、博弈论、概率论、计算几何、字符串算法。(递归、二分查找、哈希算法、分治算法、回溯算法) ????????数据结构:数组、对象/结构、字符串、队列、栈、树、图、堆、平衡树/线段树、复杂数据结构、嵌套数据结构。(链表、散列表、二叉树、跳表、Trie树) 其它的:编程思维: 数学思维(公式计算) 计算思维(程序自动化+抽象过程) 计算机思维(不断试错) 随机模拟思维(大量随机点模拟) 模块化思维(功能拆分——化繁为简,分而治之,模块间松耦合,模块内紧耦合) 规则化思维(抽象过程为规则) 递归思维(函数内调用函数) 脚本自动化思维(数据和功能分离)
算法复杂度包括时间复杂度和空间复杂度。 对于程序需要优先考虑时间。Tn = O(f(n))。时间复杂度是对程序运行时间的估算。 ?计算:(超过2层循环的算法直接换思路,时间复杂度小于等于O(n**2)) ????????选择最复杂的循环计算最高阶(包括递归调用,不包括其他循环和非循环)。 ????????嵌套取乘积。O(N*N) ? ? ? ? 多数据规模。O(M+N)
递归思想:(将一个复杂的大问题拆分为小问题来解决) ????????一个问题的解等价于拆分为子问题的解。 ????????子问题规模变小,但是子问题与原问题思路相同。 ????????存在终止条件(符合算法的有限性) 评价: ? ? ? ? 优点:递归思想简单,容易理解思考; ? ? ? ? 缺点:空间复杂度高,堆栈溢出分险,耗时比较高,重复计算问题。 fibonacci——爬楼梯?斐波纳吉序列就是典型的递归思想。 1.? 递归法解决问题,自顶向下计算,时间复杂度高。
2.? 递归中存在重复计算问题,将已经计算过的值保存到字典。
3. 循环方式,自底向上累加,难理解(用变量临时保存子问题的解)。
数组两数之和问题描述:找出一个一维数组(li)中,两个数和为目标值(n)的下标。 暴力枚举法。
用字典存储遍历过的值。
合并两个有序数组描述:将两个递增数组(a,b)合并,并且排序。结果存储在(a)。 用列表方法——list.extend()合并,list.sort()排序。(只能说python的列表就是np。数组遍历真烦。。。)sort()快速排序的时间复杂度:
双指针遍历列表(利用列表有序),比较存入临时列表,再赋值给(a)。, 双指针从后向前倒序遍历,先排序值大的元素,直接存入(a)。, 贪心算法每一次都要最好的结果,从而达到最终问题的结果是最好的。——全局最优解 吃饼干问题描述:胃口——能吃多少为g[i],尺寸——饼干大小为s[j]。满足s[j]>=g[i],满足胃口并且吃到最小的饼干,则为局部最优解。直到每个人都吃到饼干或没有饼干即为全局最优解。
? 。。。 后面的学不完了,听说还得学会暴力递归,暴力搜索,十大排序(快速排序,归并排序),动态规划。。。 坚毅——GRIT |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 9:32:21- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |