ARTS (第21周)
开篇词
千里之行始于足下。
本周:
拓扑排序、最短距离算法,位图
Algorithm 算法
拓扑排序:
kahn(感觉就是BFS、广度优先)
DFS(深度优先)
还写了个混合的 但效率其实不如上面2种
1 | package algorithm.senior.topo; |
迪杰斯特拉算法
计算最短距离的
1 | package algorithm.senior.dijkstra; |
位图
省内存的 保存boolean类型的
1 | package algorithm.senior.bitmap; |
Review 英文文章
mybatis 的更新。
Tip 技巧
极客时间的专栏《数据结构与算法之美》
本周继续学习该专栏中的43-45篇
主要内容为:
拓扑排序:有依赖顺序的一些数据 来进行排序
最短路径:迪杰斯特拉算法,应该算是动态规划的一种算法,每次获取最短路径进行计算。
位图:省内存的保存boolean类型数据的结构。
布隆过滤器:可以基于位图来实现,通过多个hash算法保存。但有一定的误判的可能性
Share 分享
版权声明:本文为CSDN博主「JamesFen」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/jameshadoop/article/details/35276083
某个医院早上收了六个门诊病人,如下表。
症状 职业 疾病
打喷嚏 护士 感冒
打喷嚏 农夫 过敏
头痛 建筑工人 脑震荡
头痛 建筑工人 感冒
打喷嚏 教师 感冒
头痛 教师 脑震荡
现在又来了第七个病人,是一个打喷嚏的建筑工人。请问他患上感冒的概率有多大?
根据贝叶斯定理:
P(A|B) = P(B|A) P(A) / P(B)
可得
P(感冒|打喷嚏x建筑工人)
= P(打喷嚏x建筑工人|感冒) x P(感冒)/ P(打喷嚏x建筑工人)
(假定”打喷嚏”和”建筑工人”这两个特征是独立的,因此,上面的等式就变成了)
= P(打喷嚏|感冒) x P(建筑工人|感冒) x P(感冒) / P(打喷嚏) x P(建筑工人)
= 感冒总数里打喷嚏的占比 x 感冒总数里建筑工人的占比 x 全部总数里感冒的占比 / 全部总数里打喷嚏的占比 全部总数里建筑工人的占比
= 0.66 x 0.33 x 0.5 / 0.5 x 0.33
= 0.66
因此,这个打喷嚏的建筑工人,有66%的概率是得了感冒。
=================
下雨:0,0,1,0,1,1,0,1,0,1,
上课:1,1,1,0,1,1,0,0,0,0,
总数:10
下雨总数:5
上课数:5
下雨上课:3,下雨上课占比:0.3
下雨不上课:2,下雨不上课占比:0.2
不下雨上课:2,不下雨上课占比:0.2
不下雨不上课:3,不下雨不上课占比:0.3
下雨天的时候
下雨上课占比:0.6
下雨不上课占比:0.4
根据贝叶斯定理:
P(A|B) = P(B|A) P(A) / P(B)
P(结果|条件)= P(条件|结果) P(结果)/ P(条件)
P(上课|下雨)= P(下雨|上课) P(上课)/ P(下雨)
=(下雨上课总数/上课总数) (上课总数占比)/ (下雨总数占比)
=0.6*0.5/0.5
=0.6
所以下雨上课概率=60%