
基础数学
零散的高等数学,线性代数,概率论知识点
vectorX
github账号 100101001
展开
-
【图】最小生成树{更新中}
最小生成树最小生成树的产生:希望在城市间建设基础设施,连通所有城市,不考虑容错性,如果花费最低成本实现?最小生成子树:原图选出这样的边,让所有顶点连通,边权重和最低。(生成子图不需要后两个条件)Kruskal算法Kruskal算法的产生:从定义出发,选择边,让其涵盖所有顶点。边的选择使用贪心思想,限制是辐射生长的树。假设图包含个顶点。第边,先选择最小权...原创 2020-02-10 02:42:41 · 328 阅读 · 0 评论 -
【数据结构】堆{更新中}
堆的产生堆的产生问题背景:如何在一堆动态变化的数中,以O(1)的复杂度获取最值。堆的目标:一个数组,支持删除元素和添加元素,保证首元素永远是数堆中的最值。数组树形化:比如给出数组, 一层一层依次从左到右加入节点,构造出如下图所示的一颗树,该种树形称为完全二叉树。完全二叉树对于数组,其所有元素的父子关系满足。完全二叉树:每一层节点都是满的,最底下一层叶子节...原创 2020-02-08 01:50:08 · 456 阅读 · 0 评论 -
【算法】有意思的算法题(附pyhon3代码){更新中}
有趣的算法题合集子序列最大和描述:给出一个数字序列 [1,-2,3,5,-1,4,-7],找出其中的子序列,使得其和最大,返回该最大值。解决方案:从左到右遍历数列,求和sum,当和sum为负的时候;重新开始新的序列计算;使用一个max变量记录当前求得的最大值。遍历到 1:sum = 1,max=1 遍历到 -2:sum = -1,max=1 => sum = 0,...原创 2020-02-07 19:36:18 · 251 阅读 · 0 评论 -
【动态规划】背包问题{更新中}
0-1背包问题背包问题的产生:鱼与熊掌不可兼得的问题。比如一个软件的功能丰富了,但同样其运行时占用资源和静态软件包的体量也上去了。如何做到有限的资源,价值最大化。0-1背包问题:对于一堆价值为,重量为的物品 :,和一个总承重的背包。如何取舍使得背包总价值最大化。每个物品要么加一件要么不加。解决方案1:计算性价比,按排序放入。缺点:举反例,有一堆按性价比排序后的物品:...原创 2020-02-07 16:41:47 · 190 阅读 · 0 评论 -
【数据结构】红黑树{更新中}
二叉树二叉树的产生:方便在一堆数中快速找到目标数。二叉树的查找规律:以1号树为例,查100。从树根50起,比50大就到以75为根的右子树中找;比75大,同理;与右子树根100比对相等,结束。总计遍历3 个节点。注意观察1号树有3层节点,因此在1号树中查找任意数字最多只需遍历3个节点;同理 2号树 最多遍历4个节点。与1号树相比遍历数堆查找则最多 7 个,平均3.5 个节点。...原创 2020-02-08 01:52:55 · 219 阅读 · 0 评论 -
【三角】和差角公式的证明与积化和差和差化积公式的推导
基础三角公式单位圆所需基本三角公式:sin(a) = -sin(-a)cos(a) = cos(-a)正切与正弦/余弦的和/差角公式的证明由右图可知 sin(a+b) 和 cos(a+b) 公式,将 b 用 -b 替换即可得差角公式由左图可知 tan(a+b) 的公式,将b用-b替换即可得差角公式。由 cot = 1/tan 可得余切的和差角公式...原创 2020-01-29 17:16:03 · 12732 阅读 · 0 评论 -
【算法】排序算法之快排
想法:乱序数组中找任一个元素,做 pivot。比 pivot小的,放到pivot左侧,反之放右侧。以 pivot 为中心,对其左右两个子数组,递归执行前两步,直到最后子数组长度为1结束。细节:怎么完成第二步的?具体方法是,数组两端各有一个指针low,high,都往中间扫,各自指向不符合的元素(low指向大于pivot的元素,high指向小于等于pivot的元素),此时...原创 2020-01-19 16:08:45 · 197 阅读 · 0 评论