学习笔记_算法_算法图解像小说一样有趣的算法入门书 all

一、二分法查找


cs50中的撕电话本哈哈哈

大O表示法


二、选择排序


链表和数组

链表中存储了下一个元素的地址,从而使一系列随机的内存地址串在一起。

数组排列在一起,你可以推出他们的位置


选择排序

遍历所有列表,然后找出想要排的东西,添加到新列表中

再次执行遍历,选择,添加新列表

速度为O(n^2)


三、递归


基线条件和递归条件


def countdown(i):

    print i

    if i <=0:               #基线条件

        return


else:                   #递归条件

    countdown(i-1)


栈的概念


四、快速排序


分而治之


找基准值


五、散列表


既我们一般用的列表值


六、广度优先搜索



七、狄克斯特拉算法


权重

加权图


八、贪婪算法


每步都寻找最优解


NP完全问题,还没有找到快速解决方法,最佳选择是使用近似算法


九、动态规划


最长公共子串


十、K最近邻算法



十一、


列举其他

a、树

b、反向索引

c、傅里叶变换

d、并行算法

e、MapReduce

f、布隆过滤器和hyperloglog

g、SHA算法

h、局部敏感的散列算法

i、diffie-hellman密钥交换

j、线性规划和simolex算法


你可能感兴趣的:(算法学习)