算法导论学习笔记与进度KylinMountain

INSERTION_SORT(A)forj=2tolength[A]dokey=A[j]i=j-1//将其与已经排好序的数组进行挨个比较whilei>0andA[i]>keydoA[i+1]=A[i]i=i-1A[i+1]=key原理

其实就是在每次进入一个元素key后,将其与已经排好序的序列进行比较,如果key值小于序列的第一个值(默认为从小到大排序),那么就表明该key应该置入这个序列当中,并且将比较过的元素自动向后移动,以腾出空间放置key。最后将key值置入空位中。

现实中就是在接牌时,插入和调整扑克牌顺序的问题了,算法复杂度为O(n^2)

分治法-分解-解决-合并

主要在于合并算法MERGE(A,p,q,r)伪代码如下:

MERGE(A,p,q,r)n1=q-p+1n2=r-qfori=1ton1doL[i]=A[p+i-1]forj=1ton2doR[j]=A[q+j]L[n1+1]=-ooR[n2+1]=-ooi=j=1fork=ptordoifL[i]<=R[j]thenA[k]=L[i]i=i+1elseA[k]=R[j]j=j+1原理

首先将输入数组分割,然后在对分割后的数组进行一一比较,如果L的元素小,就将其输出至目的数组A,如果R小,则输出R至A.

此时MERGE-SORT算法就清晰了,如果将一个数组通过递归不断将其分割,最终分割为每个数组只有一个元素,那么使用MERGE时,就能够将此二元素排序,然后对4元素排序,然后是8元素....伪代码如下:

MERGE-SORT(A,p,r)ifp

递归式T(n)=aT(n/b)+f(n),其中a>=1,b>1,f(n)是给定函数

仔细画出递归树

是求解递归式T(n)的食谱方法。主方法依赖于定理4.1主定理设a>=1和b>1为常数,设f(n)为一函数,T(n)由递归式

T(n)=aT(n/b)+f(n)

对非负整数定义,其中n/b指上顶或者下底,那么T(n)可能有如下的渐进界...主要是针对f(n),a,b等值。

概率分析,随机算法。使用概率分布预测输入值的分布,以此来帮助分析算法平均情况行为的。

I(A)=1,如果A发生的话;0,如果A不发生的话。

无法得到输入分布,考虑使用随机算法。随机排列数组许多随机算法通过排列给定的输入数组来使输入随机化。

在有限集合S上构造一个长度为k的串称为K串。直观上,为了在n元集上构造一个k串,有n种方法选择第一个元素,同样地,也有N种方法选择第二个元素,这样一次进行K次,从而K串的数目为nnn*...n=n^k.最形象的就是车牌号了。

有限集S的排列是S中所有元素的有序序列,且每个元素仅出现一次。一个N元集的集合有n!种排列,第一个元素有n种选择,第二个有n-1种选择,第三个有n-2种选择...集合S的k排列是S中k个元素的有序排列,且每个元素出现一次。因此N元集合的K排列数目是

n(n-1)(n-2)(n-3)(n-4)...(n-k+1)=n!/(n-k)!

n元集的K组合就是S的k子集,n元集的k组合的数目可以用排列的数目来表示,对每个k组合,它的元素恰好有k!中排列,每个都是n元集的一个不同的k排列。因此,n元集的k组合数目是其k排列的数目除以k!。这个数量为

n!/(k!(n-k)!)

组合与排列的区别是,组合中k元祖是无序的,而排列是有序的,意味着组合的元祖对应着k!种不同的排列元祖。因此在计算时需要除去每个元祖的其他的有序排列。

下界

=n!/k!(n-k)!展开>=(n/k)^k

再利用斯特林近似式得上界

<=n^k/k!<=(en/k)^k

条件概率Pr{A|B}读作在事件B发生的条件下,事件A发生的概率

如果Pr{A交B}=Pr{A}Pr{B},则称连个事件独立。

贝叶斯定理

Pr{A交B}=Pr{B}Pr{A|B}=Pr{A}Pr{B|A}

通过交换律,可得如下贝叶斯定理

Pr{A|B}=Pr{A}Pr{B|A}/Pr{B}

随机变量X的概率密度函数

f(x)=Pr{X=x}

随机变量的期望值

E[X]=∑xPr{X=x}

方差

Var[X]=E[(X-E[X]^2)]=E[X^2]-E^2[X]

几何分布假设进行一系列的伯努利实验,每次实验成功的概率是P,失败的概率是q=1-p,在取得一次成功前要进行多少次实验?因为在取得一次成功前有k-1次失败,从而有

Pr{X=k}=q^(k-1)p

期望1/p

二项分布因为有(nk)种方法从n次实验中选取k次成功的试验,且每次发生的概率是p^k*q^(n-k)

THE END
1.初学算法该直接上《算法导论》还是先看完《算法第四版》?答案是都不是,我建议你按照如下的系列进行学习。 入门系列 入门的同学,我建议你不要过度追求上去就看经典书。 不要一来就拿着《算法导论》开始啃,初学就去啃这些书肯定会很费劲。你一旦啃不下来,挫败感就会很强。 然后就放弃学算法了。 所以,入门的同学,我建议你找一些比较容易看的书来看,比如《大话数据结构》https://www.cxyxiaowu.com/7981.html
2.如何学习复杂的知识,比如《算法导论》webglcn如何学习复杂的知识,比如《算法导论》 链接:http://www.zhihu.com/question/35669531/answer/78601270 来源:知乎 我记得《天龙八部》里有一个场景,虚竹在缥缈峰上看天山折梅手的石刻,几个侍女也在旁边看,虚竹看得津津有味,看了很多层,几个侍女看一会儿就头昏脑涨,差点走火入魔。虚竹本身具有逍遥派深厚的内功,再https://www.cnblogs.com/webglcn/p/5112864.html
3.机构简介ycl等级考试1-3级是必考的。YCL是青少年等级考试,全称是青少年人工智能编程水平测试。主要考查青少年在程序思维、编程语言、数据处理及人工智能算法方面的能力水平。 参加NOIP(全国青少年信息学奥林匹克联赛)看什么书好? 一、目前挑中一本《算法导论》,可是感觉这些算法都不太全 https://m.zysm.cn/school-33818/about.html
4.学习]算法导论Let11ShortestPathsI经管文库(原学习]算法导论Let11-ShortestPathsI https://bbs.pinggu.org/thread-13288754-1-1.html
5.《生物信息学算法导论》学习正确的算法算法通俗来讲,就是为了解决一个适当的公式化表示的问题而必须执行的一系列指令。一个适当的公式化表示的问题必须是清楚和明确的。该书引入了伪代码,它是一种计算机科学家常用来描述算法的语言,它可以忽略了许多程序设计的细节,可以更好的描述算法问题。 https://www.jianshu.com/p/21c8e5f716ca
6.算法导论学习总结总结是在某一时期、某一项目或某些工作告一段落或者全部完成后进行回顾检查、分析评价,从而得出教训和一些规律性认识的一种书面材料,它可以使我们更有效率,是时候写一份总结了。如何把总结做到重点突出呢?以下是小编为大家整理的算法导论学习总结,欢迎阅读与收藏。 https://www.yjbys.com/xuexi/zongjie/2714604.html
7.算法导论学习笔记.pdf算法课程手写笔记资源算法导论学习笔记 本资源是对《算法导论》的学习笔记,涵盖了算法的基础知识、算法分析、函数的增长、递归式等方面的内容。 一、算法基础知识 算法是指将输入转换为输出的一系列计算步骤,目的是为了有效利用计算机的有限资源。算法可以解决实际问题中的计算难题。 在学习算法时,需要掌握循环不变式的三个性质:初始化、保https://download.csdn.net/download/weixin_40637477/85280410
8.机器学习算法导论(381页)内容提供方:便宜高质量专业写作 大小:55.99 MB 字数:约小于1千字 发布时间:2020-04-14发布于北京 浏览人气:666 下载次数:仅上传者可见 收藏次数:2 需要金币:*** 金币(10金币=人民币1元) 机器学习算法导论.pdf 关闭预览 想预览更多内容,点击免费在线预览全文 https://m.book118.com/html/2020/0414/5110304111002240.shtm
9.我是如何学习数据结构与算法的?数据结构与算法的地位对于一个程序员来说不言而喻。今天这篇文章不是来劝你们学习数据结构与算法的,也不是来和你们说数据结构与算法有多重要。 主要是最近几天后台有读者问我是如何学习数据结构与算法的,有没有什么捷径,是要看视频还是看书,去哪刷题等…而且有些还是大三大四的,搞的我都替你们着急、担心… https://zhuanlan.zhihu.com/p/386884534
10.99%的题目完成度楼主黑化的不归路附带学习心得(算法导论(原书第---吼完,舒坦多了--- ---以下是楼主黑化史--- 2014年5月21日 实习期,同事的一句玩笑话促成了我买下这本《算法导论》。过了今晚,正好算半年吧。 回顾一下:经过半年的努力,我基本算是读完了算法导论。全书除掉附录和索引,全部看完,题目一共1115道,一共有8道题算是没有完成。。。8道里面有2道是概念https://book.douban.com/review/7201567/
11.《啊哈算法算法导论学习指南啊哈磊ACM和信息学竞赛备考宝典当当善水启迪图书专营店在线销售正版《啊哈 算法 算法导论学习指南 啊哈磊 ACM和信息学竞赛备考宝典 算法编程 数据结构 算法入门 算法设计与分析书籍【善水启迪图书 正版保真】》。最新《啊哈 算法 算法导论学习指南 啊哈磊 ACM和信息学竞赛备考宝典 算法编程 数据结构 算法http://product.dangdang.com/11874311880.html
12.算法导论实战课程共23课时大数据技术与理论课程42514人学习 ¥68.00 ArcGIS与CASS在地籍建库中的结合应用视频课程(GIS思维) 15362人学习 ¥68.00 更多6 门课程 适合人群: 各种程度的IT从业人员 你将会学到: 培养IT从业人员的算法和程序设计能力 课程简介: 《算法导论》原版由MIT Press出版发行,目前**版本为第三版。在中国,本课的第二版由机械工业出版社出版https://edu.51cto.com/course/2789.html
13.读者问我怎么学算法,那就来聊点方法论腾讯云开发者社区本文借着如何学习算法这个话题,分享下我的一些思维方式,希望能给大家一些启发。 学算法也好,学技术也好,我觉得做任何事情,一定要明白自己的目标是什么。 这句话有两个关键词,第一个关键词是「目标」,可以量化的才叫目标。 你想变有钱,想学好算法,这就叫无法量化的目标,有多少钱才算有钱,学到什么程度才算学好https://cloud.tencent.com/developer/article/1880928
14.新手学电脑编程看什么书籍最好?Worktile社区Java是一种广泛应用于企业级开发的编程语言,学习Java对于就业有很大的帮助。这本书详细介绍了Java的基本语法和核心技术,包括面向对象编程、多线程和网络编程等内容,适合有一定编程基础的新手。 《算法导论》算法是计算机编程的基础,学习算法对于提高编程能力和解决实际问题非常重要。这本书介绍了常见的算法和数据结构,https://worktile.com/kb/ask/2354350.html
15.清华大学出版社图书详情机器学习算法导论 配套PPT与教学大纲,资源咨询请加QQ:2301891038(仅限教师)。“十三五”国家重点图书。从理论基础和实际应用两个层面全面掌握机器学习的算法核心技术. 作者:王磊、王晓东 ? 定价:59.90元 印次:1-8 ISBN:9787302524564 出版日期:2019.07.01 http://www.tup.tsinghua.edu.cn/booksCenter/book_07960201.html
16.运筹学基础(顾乃杰,黄章进)人笨不要紧,不能懈怠了呀:我觉得算法导论也是蛮好的。。。2018年1月1日 18:37 立即,说说你的看法 匿名用户2024春 课程难度:简单 作业多少:中等 给分好坏:一般 收获大小:很多 辅修人,这门课这学期是开卷期末,于是在前一天晚上学了一下怎么算单纯形和运输问题的表,然后其他的全部考场学习,感觉难度不是很大,内https://www.icourse.club/course/13533/
17.GitHub2.0 之后的版本不再支持 DHT,无法享受这一好处。关于 DHT 功能如何开启,请翻墙打开“这篇博文”。 关于“微软网盘”的补充说明 微软网盘支持批量下载,可以把某个目录的电子书压缩成 zip 格式一起下载。具体操作请仔细看网盘界面。 微软网盘的 Web 页面需要依赖 Java Script 脚本,如果你的浏览器禁用了 JavaScript https://github.com/qpyghb/books