算法(algorithm)就是解决问题的方法或者过程.如果把问题看成是函数,那么算法就是能把输入转化成输出;数据结构(data structure) 是数据的计算机表示和相应的一组操作.
时空辨认关系 在很多情况下,一个好的算法可以同时在空间和时间上达到最优,但在更多情况下二者是矛盾的,我们需要协调它们的关系.用时间换空间的常用方法是重复计算,用空间换时间的常用方法是预处理.
计算模型 特点是同一时间只能处理一条指令,并且执行的指令是确认的.
随机存取(RAM)模型 特点是可以随机访问存储器,而不像磁带机一样只能顺序存取.(磁带机(Tape Drive)通常由磁带驱动器和磁带构成,是一种经济、可靠、容量大、速度快的电脑储存备份设备[来自维基百科])
并行计算机 如果有L个处理器的话,就只需要一个单位时间就可以把L个数位全部比较完毕.
非确定机 特点是只要有一种猜法就能满足要求,它一定能猜到.
P类问题和NP问题 如果一个问题可以在多项式时间内被确定机解决,则它属于P类问题;如果它可以在多项式时间内被非确定机解决,则它属于NP类问题.P是NP的子集.
NP完全(NPC)问题 这类问题目前都没有找到多项式算法,即使很可能属于NP-P.它满足(1)属于NP.(2)NP中的每个问题都可以使用多项式规约到它.NPC类问题的特点:如果其中一个找到多项式算法,那么使用一种问题规约技巧可以让其他所有问题都得到有效的解决.
NPC-难度问题 有些问题虽然满足NPC问题的定义(2),却不满足定义(1),非确定机并不是万能的.
不可解问题 不可解问题是存在的.
*PS问题和NPS问题、Savitch定理 PS为所有可以在多项式空间内解决的问题的集合.NPC是PS的子集.Savitch定理:PS=NPS.
*PS完全问题 一个问题是PS完成的,当且仅当:(1)它在PS中.(2)所有PS问题都可以多项式时间规约到它.
随机算法 如果在算法中使用了随机数,那么称它为随机算法.
Monte-Carlo算法、RP类问题 如果一个问题存在一个随机算法,使得它有50%以上的概率得到期望的结果,那么这个问题属于RP类,该算法称为Monte-Carlo算法.
Las Vegas算法、ZPP类问题 如果一个问题存在一个随机算法,使得一定能得到期望的结果,而运行时间的数学期望是多项式的,那么这个问题属于ZPP类,该算法称为Las Vegas算法.
近似算法 在实际问题中,往往只需要得到不错的解,并不要求是最好的.
虚拟机器 可以用计算机来模拟并行计算机和非确定机.
浙公网安备 33010602011771号