AoE

图论---算法篇

断了今生、忘了曾经 提交于 2021-01-15 07:01:46
小书匠 Graph 图论 声明: 图论中的算法基本都是提出后,经过检验的.我就不讨论算法很基础的原理,只是从看懂一个算法的角度去学习.本着不花时间去重复别人优秀工作的原则,本文中很多部分引用了别人的工作,甚至是照搬过来,因为我觉得算法这东西已经类似 真理 ,证明不需要你,你可以看得懂,别人也可以,只是表达方式不同,别人有优秀的表达方式,我为什么不用呢! 如认为侵权,可联系删除! 目录: 二.算法类 1.戴克斯特拉算法(D.A) 2.最短路径快速算法(SPFA) 3.弗洛伊德算法(Floyd-Warshall) 3.克鲁斯卡尔算法(K.A) 4.普里姆算法(P.A) 5.拓扑排序算法(TSA) 6.关键路径算法(CPA) 7.广度优先搜索算法(BFS) 8.深度优先搜索算法(DFS) 二.算法类 1.戴克斯特拉算法(D.A) 描述: 又译 迪杰斯特拉算法 ,使用了 广度优先搜索 解决赋权有向图或者无向图的单源最短路径问题,算法最终得到一个最短路径树。 原理: 迪杰斯特拉算法主要特点是 以起始点为中心向外层层扩展,直到扩展到终点为止. 迪杰斯特拉算法算法图示 结合上图,详细解释迪杰斯特拉算法: 通过维护一个两个集合来实现: 1.一个集合内存储已经找到的最短距离及其路径(假设为D) 2.另一个是未找到的最短距离的点到起始顶点的路径(假设为U) 下面更新U的过程也是如此 图示目标

解释DAS、NAS、SAN

纵饮孤独 提交于 2021-01-06 01:12:17
DAS其实就是最基本的主板上面通过各种接口直接插上就能被主板所在的电脑查知的硬盘的这种硬盘连接方式,被操作系统看到的时候设备是“块存储设备”,需要进行磁盘分区,构建本地文件系统后,格式化要使用的分区才能使用,现在常见方式:ide也就是pata(较老家用pc常见)、scsi(较老服务器设备常见)、sata(现代主要家用pc接口)、sas(现代主要家用pc接口)等; nas和san都是通过网络,不管光纤还是铜缆还是任何一种其他网络连接方式挂载到本机电脑,以前还有人分光纤和铜缆现在来说实际上铜缆也有了10g的速度可以说只有网络延时上微小的区别本质上的速度已经没啥区别了,所以我认为今天可以认为不区别也罢,区别是: NAS挂载到本机后是直接可用的文件系统,文件级存储file-level storage,操作的最小单元就是每个文件,nas是nas包括服务端和客户端协议两部分,服务端有硬件设备实现和软件的网络文件系统以及分布式文件系统方式的实现,最典型的协议(通常有对应的服务器端实现)例子比如:网络文件系统有linux的nfs、windows的cifs和smb、苹果系列系统支持的afp,分布式文件系统并且开源免费、今天生产环境还常有人用于mount的有ceph和GlusterFS(要注意的是貌似不是所有的dfs都是nas的,好几种dfs并不提供直接操作系统挂载方式

在公司写代码时,我总想回家带娃。

余生长醉 提交于 2020-12-25 10:23:07
桔妹导读 :离天空最近的地方,是父亲的肩膀。在这个特别的日子里,小编也搜集了一些滴滴年轻的工程师奶爸们的分享,听他们聊一聊当爸的初体验。也借此机会祝福所有做了父亲的工程师们,节日快乐! 内心充满激动和紧张 @张军 娃刚出生第五天黄疸严重,在医院住了五天,每天都会去医院给娃送母乳,但是医院管理严格,全程见不到娃,内心甚是想念。最难忘的是出院那天,去医院的路上,一想到就能见到娃,内心很是激动,那感觉已经超越了第一次约姑娘见面时内心的忐忑和紧张,也终于理解了父母对孩子的爱有多深。 见证了她 每一个 版本的「迭代」 @王道含 # Changelog # # 0.0.1 2019-3-21 feat: init # # 0.2.10 2019-5-31 feat: grab # # 0.3.2 2019-6-22 feat: turn over # # 0.5.7 2019-8-28 feat: sitting feat: climb # # 0.10.18 2020-2-8 feat: run # 1.0.5 2020-3-26 feat: say papa 作为我为数不多准时上线的产品,也见证了她一个一个版本的迭代。从一个脆弱的功能单一的噪音系统,通过硬件和软件的不断升级,逐步变成了一个人形自走多媒体交互语音系统。在陪伴和观察她成长的过程中,我也会有更多的想要去努力的动力

solr研磨之游标分页

旧巷老猫 提交于 2020-12-12 21:21:12
作者:战斗民族就是干 转载请注明地址:http://www.cnblogs.com/prayers/p/8986498.html    普通分页   当需要深度分页的时候,比如查询第10000页数据,每页显示10条,意味着需要提取前10000 x 10 页的数据,并将这100000条数据缓存在内存中,然后在内存中进行排序。最后返回最后10条即用户想要的第100000页数据。   缺点:   1、首先需要在内存缓存100000条数据需要占用大量的内存   2、并且在内存中对100000条数据进行排序也非常消耗CPU   因此普通分页方式比较适合返回TOPN条数据,翻页越翻到后面,分页查询性能越差,即使你开启了resultQueryCache Cursor分页    Solr中的游标是一个逻辑概念,它不会在服务器上存储任何信息,而是返回一个下一页数据起始位置”Mark”标记值给用户,该标记表示着当前分页起始位置在查询匹配的整个索引结果集中的绝对索引位置。   想要在Solr中使用游标,你需要指定一个cursorMark参数比如:cursorMark=*,你可以理解为它跟start=0类似。 然后此时Solr除了会返回一个TopN的结果集,同时还附带返回一个nextCursorMark值,

阿里P8架构师秘诀:看完这份“Redis面试宝典”,还担心面试被out?完全不存在

别说谁变了你拦得住时间么 提交于 2020-11-27 12:24:52
在大数据时代,频繁地在应用和数据库之间进行读写操作在性能、速度、体验上已经远远不能满足用户、客户、开发人员的要求了,于是一种基于内存操作的数据库便应运而生。Redis 是一种基于内存的数据库,如何轻松理解并熟练操作 Redis 是一个有责任心、进取心程序员应该了解和掌握的技术。Redis在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在Redis的使用和原理方面对小伙伴们进行各种刁难。 在将面试问的Redis高级题目进行详细的梳理,并结合了解析在这免费分享给大家! Redis高级面试专题 一、Redis基础概念相关问题 1.什么是 Redis? 2.Redis 的特点有哪些? 3. Memcache 与 Redis的区别都有哪些? 4.Redis 相比 Memcached有哪些优势? 5.如何实现本地缓存﹖请描述一下你知道的方式 6.Redis通讯协议是什么?有什么特点? 二、Redis 数据结构及指令相关问题 1. Redis支持的数据类型 2.Redis 常用的命令有哪些? 3.一个字符串类型的值能存储最大容量是多少? 4.Redis各个数据类型最大存储量分别是多少? 5.请介绍一下Redis的数据类型 SortedSet ( zset )以及底层实现机制? 6.Redis 事务相关命令有哪些? 7.什么是 Redis 事务﹖原理是什么? 8.Redis

代码的品味

懵懂的女人 提交于 2020-08-19 04:32:25
我们经常谈论架构,谈论设计,却甚少关注实现和代码本身,架构和设计固然重要,但要说代码本身不重要,不仅我不同意,Robert C.Martin大叔也不同意,大叔认为“ 源码即是设计 ”。 在讨论具体的实施细则之前,我们不妨讨论一下什么是好代码?萝卜特(Martin)大叔认为:衡量代码质量的唯一标准是:WTF/min,也就是review代码的时候每分钟说“握草”的次数。这个定义虽有辱斯文,但粗野中不失调皮,调皮中又蕴含哲理。 好的代码如同文笔优美的散文,行云流水,如沐春风,阅读的时候,赏心悦目,带给人愉悦与启迪。 好的代码犹如构思精巧的小说,它或许不够平铺直述,但足够引人入胜,读到最后,你会豁然开朗,哦,原来是这样的啊,那一刻,你会觉得过程中的曲折和探索都是值得的。 好的代码,透过一个个函数,你仿佛可以窥视到作者有趣的灵魂,透过一行行代码,你仿佛在与一个充满智慧的朋友聊天,她总是思路清晰,逻辑严谨,娓娓道来。 而坏的代码,就像一个泥团,或者像一摊屎,阅读的时候,你仿佛被困于黑暗的迷宫,又仿佛在跟一个絮絮叨叨的人交谈,她的脑回路经常短路,说话含混不清,主次不分,叨逼半天,你依然get不到她的中心思想,你感觉智商受到了莫大的侮辱,甚至感觉像被人喂吃shit,你面露艰难神色,心中万马奔腾。 有很多区分好代码坏代码的规则,网上的文章也很多,我也看过不少,对于文章中提到的一些守则

揭开「拓扑排序」的神秘面纱

╄→гoц情女王★ 提交于 2020-08-09 18:00:20
前言 Topological sort 又称 Topological order,这个名字有点迷惑性,因为拓扑排序并不是一个纯粹的排序算法,它只是针对 某一类图 ,找到一个可以执行的线性顺序。 这个算法听起来高大上,如今的面试也很爱考,比如当时我在面我司时有整整一轮是基于拓扑排序的设计。 但它其实是一个很好理解的算法,跟着我的思路,让你再也不会忘记她。 有向无环图 刚刚我们提到,拓扑排序只是针对特定的一类图,那么是针对哪类图的呢? 答:Directed acyclic graph (DAG),有向无环图。即: 这个图的边必须是有方向的; 图内无环。 那么什么是方向呢? 比如微信好友就是有向的,你加了他好友他可能把你删了你却不知道。。。那这个朋友关系就是单向的。。 什么是环?环是和方向有关的,从一个点出发能回到自己,这是环。 所以下图左边不是环,右边是。 那么如果一个图里有环,比如右图,想执行1就要先执行3,想执行3就要先执行2,想执行2就要先执行1,这成了个死循环,无法找到正确的打开方式,所以找不到它的一个拓扑序。 总结: 如果这个图不是 DAG,那么它是没有拓扑序的; 如果是 DAG,那么它至少有一个拓扑序; 反之,如果它存在一个拓扑序,那么这个图必定是 DGA. 所以这是一个 充分必要条件 。 拓扑排序 那么这么一个图的 「拓扑序」 是什么意思呢? 我们借用 百度百科 [1]

2020上半场已结束,揭露上半年瞄准PC端目标的十大“危险分子”

柔情痞子 提交于 2020-08-09 09:57:04
时至7月,2020年上半年已告一段落。2020年,这个本该寄托无数憧憬的年份,却因一场席卷而来的疫情危机的到来而全球震荡。流年不利、人心惶惶,这些糟糕的词语已经无法准确描述这场疫情为全球人民生活造成的灰暗。 伴随着疫情夜幕的降临,生活在黑暗中的生物们也相继“苏醒”。勒索病毒、蠕虫木马、钓鱼邮件,横向渗透、变形虫攻击等黑客攻击如同洪流般裹挟泥沙席卷而来,各路玩家粉墨登场。在疫情的掩护下,将人们本已步履维艰的生活搅乱的更加浑浊。 360 安全大脑对上半年全球范围内针对PC端异常活跃的十大网络攻击威胁,包括疫情下流行病毒的趋势,以及伴随疫情出现的全新攻击面和攻击技术进行了梳理和总结,以此提醒广大企业和个人用户提高警惕,未雨绸缪而有备无患。 Top1 、勒索病毒独占鳌头 进入2020年,发展迅猛的勒索病毒没有丝毫放缓脚步,以更加来势汹汹的态势在全球横冲直撞“所向披靡”。在GandCrab家族一年半内赚下20亿美金的鼓舞下,上半年间,花样繁多的勒索病毒大有星火燎原之势,如同早已约定好上台表演次序一般,你方唱罢我登场,几乎每周都有勒索病毒“新起之秀”亮相,在广大用户身上刮下一层“油水”后,乘兴而来乘胜而归。 2020 上半年勒索病毒花样频出 上半年中占比最高的勒索病毒增长趋势图 2020 年上半年,勒索病毒繁多的变种更加趋于常态化,新型勒索病毒越演越烈的增长态势也愈发不可收拾。近两年来

武田将呈报ICLUSIG(R) (ponatinib)临床试验项目数据,这些数据有望改变慢性期CML治疗的实践

╄→尐↘猪︶ㄣ 提交于 2020-07-29 11:36:17
– 美国临床肿瘤学会 (ASCO) 和欧洲血液学会 (EHA) 年会上将口述呈报 2 期 OPTIC 试验中期分析 – – 结果支持依据缓解的 ICLUSIG 给药方案,能够优化耐药 / 不耐受慢性期 CML 患者的收益风险谱 – – ASCO 和 EHA 上还将呈报 CML 和 Ph+ ALL 2 期 PACE 试验的独立评审裁定数据壁报 – 马萨诸塞州剑桥和日本大阪 -- (美国商业资讯) -- 武田药品工业株式会社( TSE:4502/NYSE:TAK )今天宣布,2期OPTIC(Optimizing Ponatinib Treatment In CML,优化Ponatinib治疗CML)试验中期分析数据将在虚拟的第56届 美国临床肿瘤学会(ASCO)年会 和第25届 欧洲血液学会(EHA)年会 上口述呈报。OPTIC试验是进行中的随机、开放研究,前瞻性评估三种起始剂量(15毫克、30毫克或45毫克)范围内依据缓解的ICLUSIG® (ponatinib)给药方案,旨在优化其治疗存在先前酪氨酸激酶抑制剂(TKI)治疗药物耐药或不耐受的慢性期慢性粒细胞白血病(CP-CML)患者的有效性和安全性。 OPTIC中位随访时间约21个月,中期分析数据显示,CP-CML患者ICLUSIG起始日剂量45毫克的收益风险谱最佳,当BCR-ABL1达到≤ 1%时,减量至15毫克

五十音是日语入门的关键,当你学习五十音图的时候,最应该关注什么?

倾然丶 夕夏残阳落幕 提交于 2020-07-29 09:48:46
学习日语五十音图的重点要素,五十音图是日语入门学习初始的重要内容,那么,当你学习五十音图的时候,最应该关注什么?是它对应的汉字来源?它的间架结构?怎么写出来好看?还是笔顺? 其实学习五十音图,我们最应该关注的是:发音。 更确切地说,我们最应该关注的是: 日语的发音特点和规律。 一、为什么发音特点和规律最重要 1、发音是交流的要素 学习一门语言,归根结底,是要应用的。无论去日本旅游还是和日本客户交流,都脱不开“说”。 那么先来测一测你的五十音小天赋https://sourl.cn/Pzx2Sb(复制打开) 而发音好不好,对于交流至关重要。明明表达得很流畅,却因为发音不准让人听不懂,实在遗憾。 如果被别人礼貌地要求“能请您重新说一遍吗?”,也实在是一件很尴尬的事。 对于职场应用的朋友来说,发音会影响别人对你的第一印象。 在心理学上有一种“光环效应”,是指当认知者对一个人的某种特征形成好或坏的印象后,他还倾向于据此推论该人其他方面的特征。 所以,你的发音不好,会间接让别人觉得你“不够优秀”。 2、发音影响句子含义 有的朋友学日语可能只是为了看动漫、看日剧能摆脱字幕,只要“听”就足够了,难道也需要研究发音吗? 答案是:需要。 首先,日语独特的拗音、长音、促音,都影响着词汇的含义。 例如: ビール(啤酒)和ビル(高楼),是长音区别了含义; びよういん(美容院)和びょういん(医院