返回顶部

编辑

算法

在数学和计算机科学之中,算法(Algorithm)为一个计算的具体步骤,常用于计算、数据处理和自动推理。精确而言,算法是一个表示为有限长列表的有效方法。算法应包含清晰定义的指令用于计算函数

算法(Algorithm)是一系列解决问题的清晰指令,也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。 算法可以理解为有基本运算及规定的运算顺序所构成的完整的解题步骤。或者看成按照要求设计好的有限的确切的计算序列,并且这样的步骤和序列可以解决一类问题。

  1. **二分查找又称折半查找,它是一种效率较高的查找方法。** 折半查找的算法思想是将数列按有序化(递增或递减)排列,查找过程中采用跳跃式方式查找,即先以有序数列的中点位置为比较对象,如果要找的元素值小于该中点元素,则将待查序列缩小为左半部分,否则为右半部分。通过一次比较,将查找区间缩小一半。 折半查找是一种高效的查找方法。它可以明显减少比较次数,提高查找效率。但是,折半查找的先决条件是查找表中 ...查看
  2. 排列组合是算法常用的基本工具,如何在c语言中实现排列组合呢?思路如下: 首先看递归实现,由于递归将问题逐级分解,因此相对比较容易理解,但是需要消耗大量的栈空间,如果线程栈空间不够,那么就运行不下去了,而且函数调用开销也比较大。 (1) 全排列: 全排列表示把集合中元素的所有按照一定的顺序排列起来,使用P(n, n) = n!表示n个元素全排列的个数。 例如:{1, 2, 3 ...查看
  3. 2014-05-17 16:47:26数据结构-顺序表 by lucasli
    [代码片段(421行)] ...查看
  4. 2014-05-18 11:03:26线性表操作 交互 链表 by 小项
    1、创建线性表类。线性表的存储结构使用链表。 2、完成表首插入元素、删除指定元素、搜索表中是否有指定元素、输出链表。 3、输入n个不为零的整数作为节点元素值,遇到0代表输入结束(不创建元素值为0的节点),创建链表。输出整个链表。 4、输入一个整数,将该数作为一个元素值插入表首位置。输出整个链表。 5、输入一个整数,在链表中进行搜索,输出其在链表中的位置。如果不存在输出0。 6、再一次输入 ...查看
  5. 比赛的时候脑残了,直接去敲二叉树了,看着别人一个个都过了自己代码还没敲完。。。。 简单的做法是使用两个堆维护。 http://acm.hdu.edu.cn/showproblem.php?pid=4302 [代码片段(239行)] ...查看
  6. 2014-05-20 13:07:50各种排序算法 by walker30
    [代码片段(215行)] ...查看
  7. [代码片段(154行)] ...查看
  8. 2014-05-20 10:42:08双向循环列表 by Kevin.
    [代码片段(148行)] ...查看
  9. 2014-05-19 15:46:15高效素数筛法 by lucasli
    简单高效的素数筛法,统计给定区间素数个数, 可以生成素数表。 采用位压缩, 位个数表,区间分段(接近L1/L2),wheel = 6。 [代码片段(143行)] ...查看
  10. 采用的完全二叉树,实现起来比较简单。二叉树的类的代码就不贴了,就是封装了一个vector [代码片段(119行)] ...查看
  11. [代码片段(143行)] ...查看
  12. [代码片段(100行)] ...查看
更多