“学习笔记”之《算法导论》----第七部分----算法问题选编----第二十七章----多线程算法

本人大四即将结束,于2018年12月18日购《算法导论》这本书,慢慢看,第一阶段先主要理解各个章节说的算法都是什么意思,书上的课后习题先不做,用得上什么算法我再详细学习。这是官方课后答案的链接。

放在开头:没有好的算法,坏的算法之说,重点是针对不同的情况,针对不同的数据,针对不同的需求,去选择算法,改良算法。我的数学功底不强,太难的公式我看不懂,太高深的思想我理解不了,我主要以应用为主,不以解释数学公式为主。

 多线程算法是一个用途常见的工具。

串行算法:在任何时刻只有一条指令被执行。

并行算法:能够在多处理器计算机上运行,并且允许多条指令同时进行。现在我们的计算机都几核几核的,说的就是有几个处理器。

共享储存:每个处理器都可以直接访问储存器的任何位置。

有个文章用几张图介绍了进程、线程和锁

下图是计算斐波那契数的一部分有向图,如果全部执行,需要17个单位时间,因为这里包含了17个链,实际上是8个单位时间,因为关键路径(阴影部分)包含了8个链。这个就是多线程运行的优点。

后两节介绍了多线程在矩阵运算分治策略上的应用。

这是将多线程的思想应用于C++上的方法

你可能感兴趣的:(算法导论)