算法导论学习笔记(一)

来源:互联网 发布:淘宝账户冻结了怎么办 编辑:程序博客网 时间:2024/05/01 10:56

1.斐波那契数列非递归实现:

list[0] = 0

list[1] = 1

for(i = 2,i++,i<n){

list[i] = list[i-1] + list[i-2]

}

return list[n-1]

2.选择排序,冒泡排序核心:

选择排序:遍历list找最小,通过swap将最小的放在当前遍历的start pos(遍历n-1次)

冒泡排序:交换,最大的沉底,拿最大的逐渐向下沉

3.凸包问题(蛮力法):

凸包:找极点,点构造线,如果其他所有点都在这条线的一侧,则构造这条线的两点为凸包的两个顶点

4.深度优先,广度优先核心:

深度优先:遍历所有点,没被标记的执行dfs函数,dfs:for循环遍历相邻该点的所有点,其中没有被标记的递归调用dfs

广度优先:遍历所有点,没被标记的执行bfs函数,bfs:创建个队列以该点为头,遍历队列的第一个点的所有相邻点,如果没被标记则并加入队列,循环执行完毕后去掉第一个点


原创粉丝点击