| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> 数据结构与算法(python)第一节 -> 正文阅读 |
|
[数据结构与算法]数据结构与算法(python)第一节 |
算法是计算机处理信息的本质,算法是独立存在的一种解决问题的方法和思想 算法五大特性: (1)输入:有0个或者多个输入 (2)输出:至少有一个或多个输出 (3)有穷性:有限步骤后自动结束而不会无限循环,每一个步骤可以在可接受的时间内完成 (4)确定性:算法中每一步都有确定的含义,不能有二义性 (5)可行性:算法的每一步都能够用计算机语言实现 算法效率衡量 : 执行时间 时间复杂度和大O记法 渐进函数 g(n) = n^3? ?O(g(n))? 渐进时间复杂度 时间复杂度 优先关注最坏时间复杂度 时间复杂度计算的几个基本原则: (1)基本操作,只有常数项,时间复杂度是O(1) (2)顺序结构,时间复杂度按加法计算 (3)循环结构,时间复杂度按乘法计算 (4)分支结构,时间复杂度取最大值 (5)判断一个算法的效率时,往往只需要关注操作数量的最高此项,其他次要项和常数项可以忽略 (6)在没有特殊说明时,我们所分析的算法时间复杂度都是指最坏时间复杂度 常见时间复杂度 O(1) 常数阶 O(n) 线性 O(n^2) 平方阶 O(logn)对数阶 O(nlogn)? O(n^3) O(2^n) 指数阶 代码执行时间测量模块timeit 可以用来测试一小段Python代码的执行速度 Timer是测量小段代码执行速度的类 习惯? py文件起名的时候 文件名不要和包名 关键字名重合 举例练习,计算多种方式列表添加元素的运行时间:
四种方式运行时间结果: test1: 0.333015125 数据结构 数据结构要解决的问题是数据如何组织起来,对基本数据类型的一种封装 程序 = 数据结构+ 算法 算法是为了解决实际问题而设计的,数据结构是算法需要处理的问题载体 抽象数据类型 :把数据类型和数据类型上的额运算捆在一起,形成一种封装 ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 0:42:29- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |