算法学习
sambeanyu
这个作者很懒,什么都没留下…
展开
-
基础的数据结构
数组 - 大小固定 栈(stack) - 后进先出,只能在一端进行插入和删除的操作 队列(queue) - 先进先出,只能在一端进行插入操作,在另一端进行删除操作 算法要考虑的因素 : 尽可能少的I/O操作,尽可能在内存里操作数据...原创 2010-11-09 15:54:24 · 75 阅读 · 0 评论 -
排序2-希尔插入排序
算法简介:希尔插入排序,是在直接插入排序的基础上进行优化 直接插入排序的优点:对于小数量的数据排序较快 算法描述:将待排序数组在逻辑上分成一定步长的子数组,对这些子数组进行直接插入排序。然后在重新划分子数组,再进行直接插入排序,直到整个数组有序(步长为1) 假设数组长度为N 那么排序的轮数n最佳为满足 2^n < N 每轮排序的步长 step = 2^n -1 为什么这样设置,...原创 2010-11-11 17:35:15 · 79 阅读 · 0 评论 -
时间复杂度的分析
1.O(N) 对于T(N),f(N),如果存在一个参数c和n,使得每个N>n,都有T(N)100时 T(N)< f(N) 可以说 T(N)的增长率低于 f(N) 2.如果T1(N) = O(f(N),T2(N) = O(g(N)) (1) T1(N)+T2(N) = O(max(f(N),g(N))) (2) T1(N) *T2(N) =O(f(N)*g(N)) 3. lo...原创 2010-11-28 17:20:52 · 170 阅读 · 0 评论