算法——基础知识

算法——基础知识

1.什么是算法?

 答:算法(Algorithm):一个计算过程,解决问题的方法。

   程序 =  数据结构 + 算法

2.时间复杂度(三连图)

  

时间复杂度小结:

  1.时间复杂度是用来估计算法运行时间的一个式子(单位)。

  2.一般来说,时间复杂度高的算法比复杂度低的算法慢

  3.常见的时间复杂度(按效率排序)

    -  O(1)  < O(logn) <O(n) < O(nlogn) <O(n2) <(n2logn) <O(n3)

  4.不常见的时间复杂度

    O(n!)  O(2n) O(nn)

  5.如何简单判断时间的复杂度?

    1.找到代表问题规模的n

    2.是否有循环减半的过程 ——》 O(logn)

    3.几层循环就是n的几次方的复杂度

3.递归

1.递归的两个特点:

  1.调用自身

  2.结束条件

 

原文地址:https://www.cnblogs.com/zhongbokun/p/8407274.html

时间: 2024-11-10 15:13:05

算法——基础知识的相关文章

[算法学习笔记]算法基础知识

算法基础知识 算法的五大要素 有穷性:算法必须能够在有限个步骤内完成. 确定性:算法的每一步必须有确定的定义. 输入 输出 可行性:算法的每个步骤都必须能分解为基本的可执行操作,每个步骤都必须能在有限时间内完成 循环不变式 循环中的循环不变式可以帮助我们理解算法的正确性.为了证明算法的正确,必须证明循环不变式的三个性质: 1. 初始化:循环不变式在循环开始之前是正确的. 2. 保持:循环不变式在循环的每一次迭代开始之前是正确的. 3. 终止:在循环结束时,不变式会给出一个可以对判断算法是否正确有

Levenberg-Marquardt算法基础知识

Levenberg-Marquardt算法基础知识 (2013-01-07 16:56:17) 转载▼ 什么是最优化?Levenberg-Marquardt算法是最优化算法中的一种.最优化是寻找使得函数值最小的参数向量.它的应用领域非常广泛,如:经济学.管理优化.网络分析.最优设计.机械或电子设计等等.根据求导数的方法,可分为2大类.第一类,若f具有解析函数形式,知道x后求导数速度快.第二类,使用数值差分来求导数.根据使用模型不同,分为非约束最优化.约束最优化.最小二乘最优化. 什么是Leven

算法基础知识

一丶基本概念   1.算法设计的任务:对一个具体的问题,设计一种良好的算法,获取最佳的结果. 2.什么是算法:通俗说是一种最优解, 3.程序=数据结构+算法+程序设计语言 二丶基础算法   1.枚举(穷举)算法思想 特点:1.依赖于计算机强大的运算能力来穷尽每一个可能的情况,从而达到解决问题的目的. 2.该算法效率不高. 3.该算法适用于一些没有规律可循的环境中. 两个必要条件:1.对于一种可能的情况,计算其结果. 2.判断结果是否满足要求,如果不满足,则执行第一步. 示例1:填数字游戏 算法描

Algorithm 算法基础知识(未完成

基础概念不讲,记录课上关键部分 时间复杂度(Time Complexity) 算法所需要花的时间 比较时间复杂度(主要看问题的规模) 时间频度(算法执行次数)T(n)和T(n1),如果两个时间频度为等价无穷小,那么为时间复杂度相等 用O表时间复杂度上界,用Ω表示时间复杂度下界 用θ表示如果复杂度上下界相等(一般求的是O) 时间复杂度举例 基本语句:简单复杂度为O(1),100个简单语句也为O(1) 循环语句:1个循环的时间复杂度为O(n),n次循环 空间复杂度(Space Complexity)

莫队算法---基础知识介绍(转载)

莫队算法 莫队算法可用于解决一类可离线且在得到区间[l,r][l,r]的答案后,能在O(1)O(1)或O(log2n)O(log2?n)得到区间[l,r+1][l,r+1]或[l−1,r][l−1,r]的答案的问题 先看这样一个问题: 给出n个数字,m次询问,每次询问在区间[li,ri][li,ri]之间任选两个数字相等的概率是多少.(n,q<=50000)(小z的袜子) 在区间[l,r][l,r]中,这个概率是: ∑vi=1C(2,f(i))C(2,r−l+1)∑i=1vC(2,f(i))C(

算法基础知识之树、二叉树,

一.树 把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的.在计算机科学中,树(英语:tree)是一种抽象数据类型(ADT)或是实作这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合.树一般分为两类: 无序树:树中任意节点的子节点之间没有顺序关系,这种树称为无序树,也称为自由树: 有序树:树中任意节点的子节点之间有顺序关系,这种树称为有序树: 二.二叉树 在计算机科学中,二叉树(英语:Binary tree)是每个节点最多只有两个分支(不存在分支度大于2的节点

数据结构和算法一(基础知识)

一.数据结构与算法基础知识 从广义上讲,数据结构就是指一组数据的存储结构.算法就是操作数据的一组方法. 从狭义上讲,就是指某些著名的数据结构和算法,比如队列.栈.堆.二分查找.动态规划等. 数据结构和算法是相辅相成的,数据结构为算法服务,算法要作用在特定的数据结构之上. 数据结构思维导图 基础数据结构:数组.链表.栈.队列.散列表.二叉树.堆.跳表.图.Trie树 基础算法:地柜.排序.二分查找.搜索.哈希算法.贪心算法.分治算法.回溯算法.动态规划.字符串匹配算法 二.时间复杂度和空间复杂度

学习算法你必须知道的一些基础知识(文末福利)

点击标题下「异步社区」可快速关注 机器学习是解决很多文本任务的基本工具,本文自然会花不少篇幅来介绍机器学习.要想搞明白什么是机器学习,一定要知道一些概率论和信息论的基本知识,本文就简单回顾一下这些知识. 1.1 概率论 概率就是描述一个事件发生的可能性.我们生活中绝大多数事件都是不确定的,每一件事情的发生都有一定的概率(确定的事件就是其概率为100%而已).天气预报说明天有雨,那么它也只是说明天下雨的概率很大.再比如掷骰子,我把一个骰子掷出去,问某一个面朝上的概率是多少?在骰子没有做任何手脚的情

PHP面试(二):程序设计、框架基础知识、算法与数据结构、高并发解决方案类

一.程序设计 1.设计功能系统--数据表设计.数据表创建语句.连接数据库的方式.编码能力 二.框架基础知识 1.MVC框架基本原理--原理.常见框架.单一入口的工作原理.模板引擎的理解 2.常见框架的特性--PHP框架的差异和优缺点 三.算法与数据结构 1.常见算法--算法的概念.时间复杂度和空间复杂度.常见排序算法.常见查找算法 2. 3. 4. 四.高并发解决方案 1. 2. 原文地址:https://www.cnblogs.com/darklights/p/9275751.html