
算法数据结构
文章平均质量分 51
难道还怪我咯
乐观积极,乐于探索,喜欢用计算机来解决自己碰到的问题,善于写博客,积累知识,上stackoverflow搜索解决问题的思路;有较强的适应能力和良好的团队合作精神;有较强的英文阅读、交流能力以及编码能力,无障碍阅读专业外文书籍、论文等。<br>热爱移动互联网,希望在移动互联网领域向大神学习,进步!
展开
-
算法分析时间复杂度
对一个算法的分析,很多时候我们更关心算法运行的时间复杂度。算法的时间复杂度中,我们关心算法运行的时间上界。即大O阶分析方法。时间复杂度的分类:1、没有循环递归的基本都是常数阶。2、有一层循环的就是线性阶。for(int i=0;i//dosth}3、对数阶:一般类似如下:while(ii=i*2;}会循环log2N次。所以是对数阶。4、平方阶原创 2014-10-22 20:39:30 · 1060 阅读 · 0 评论 -
十大编程算法助程序员走上高手之路
算法一:快速排序算法快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来。快速排序使用分治法(Divide and conquer)策转载 2014-11-02 18:47:45 · 916 阅读 · 0 评论 -
智力题总结
1、一个老板顾一个工人干7天活,工资是一根金条,金条只能切2次,但是每天必须都付工资。答案:两刀切成1,2,4三分。第一天拿走1。第二天还1拿走2。第三天再拿走1。第4天还1,2拿走4。第五天拿走1.第六天还1拿走2。第七天把1拿走。原创 2014-10-22 11:12:11 · 949 阅读 · 0 评论 -
算法分析基础
1、程序的性能程序的性能由时间复杂度和空间复杂度决定。1.1空间复杂度程序所需要的空间主要由以下部分构成: 指令空间。存储经过编译之后的程序指令。指令有操作数和操作码构成。 数据空间。存储所有常量和所有变量值所需的空间。 环境栈空间。保存函数调用返回时恢复运行所需要的信息。 (1)指令空间程序所需指令空间的大小取决于如下因素:原创 2014-10-21 10:00:26 · 1140 阅读 · 2 评论 -
分枝限界算法
1、算法基本思想 分枝限界方法采用宽度优先的方式搜索解空间树, 将活结点存放在一个特殊的表中。在扩展结点处,先生成所有儿子结点,将那些导致不可行解或非最优解的儿子舍弃,其余儿子加入活结点表中。 此后, 从活结点表中按照某种规则取出一个结点作为当前扩展结点,继续搜索。 2、分类从活结点表中选择下一扩展结点的不同方式导致不同的分枝限界方法。最常见的有以下两种方式:(1)队列原创 2014-11-18 10:35:48 · 1370 阅读 · 0 评论 -
贪心算法
贪心方法并未考虑整体最优解, 它所做出的选择只是在某种意义上的局部最优选择,不一定能够得到整体最优解。 但是, 有相当一部分问题, 使用贪心方法能够得到整体最优解。1、装载问题(1)问题描述(2)算法描述2、背包问题(1)问题描述(2)背包问题的贪心算法贪心方法主要用于处理优化问题。 每个优化问题都是由目标函数和约束条件组成。 满足约原创 2014-10-29 10:50:50 · 1339 阅读 · 0 评论 -
图的遍历算法
1、连通图的宽度优先搜索(BFS)(1)算法思路准备:起点v 和一个空队列Q 。① 将v 打上已访问标记,并将 v 放入队列Q 。② 取出队列 Q 的 队首元素 u ,搜索所有与 u 相邻的顶点。如果 w 与u 相邻且未访问, 则将w 打 上已访问标记,并将 w 放入队列Q 。③ 重复②,直到队列Q 空(2)算法代码:(3)复杂性原创 2014-10-25 18:13:45 · 1290 阅读 · 0 评论 -
分治算法
1、折半搜索算法(1)算法代码:(2)复杂性分析 任何一种以比较为基础的搜索算法, 在最坏情况下所用的时间都不可能低于 (log ) n ,因此,也就不可能存在最坏情况下所需时间比折半搜索数量级还低的算法。 2、排序问题2.1归并排序算法(1)归并排序算法思想该算法采用分治方法, 将要排序的数组分成两部分, 先对每部分进行排序,然后将两部分的原创 2014-10-25 20:47:53 · 931 阅读 · 0 评论 -
所有常见排序算法,笔试必看
#include #include #include #include #include #include #include #define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define MAX_LENGTH_INSERT_SORT 7 /转载 2014-10-24 10:45:40 · 645 阅读 · 0 评论 -
选择排序
/** * Created by Administrator on 2017/11/22 0022. * * 选择排序的时间复杂度是N方级别的 * 思想: * 1、从当前序列中找出最小的元素和第一位的数据元素进行比较,满足条件则交换。 * 2、继续从剩下的序列中找出最小的元素和第2位的数据元素进行比较,满足条件则交换。 * 3、依次类推,直到找完该序列的最后一个元素。 */p原创 2017-11-22 12:07:11 · 453 阅读 · 0 评论