简单介绍算法一角
2017-12-16 09:21
225 查看
算法的五大特征:
输入 算法具有0个或多个输入
输出 算法至少有一个或者多个输出
有穷性 在又穷部署之后会自动结束不会无限循环
确定性 每一步都有确定的含义
可行性 每一步都是可行的
时间复杂度 大o
list 内置操作的时间复杂度
index o(1) index assignment o(1) append o(1)
pop() o(1) pop(i) o(n) insert(i,item) o(n)
iteration o(n) contains o(n) get slice[x:y] o(k)
reverse o(n) concatenate o(k) sort o(nlongn)
dict 内置操作的时间复杂度
copy o(n) get item o(1) set item o(1)
delete item o(1) contanins o(1) iteration o(n)
数据结构就是对基本数据类型的一次封装
抽象数据类型 ADT 把数据类型和数据类型上的运算捆绑在一起,进行封装
常用运算有 插入 删除 修改 查找 排序
内存基本单位是字节 1字节=8位
顺序表的两种基本实现方式 a 一体式结构 b 分离式结构()
32位的机器一个整型4个字节4byte 字符串中的一个字符(Char)是一个字节 字符串后边还有个/0 也就是 多一个字符
顺序表基本布局 直接储存数据
元素外置顺序表 储存地址 用地址指向数据
保护序列 表尾插入数据时间复杂度 o(1) 指定位置插入元素 o(n) 非保护序列的 o(1)
支持扩充的顺序表称为动态数据表 list 控列表 8个元素的存储区 4byte(元素外置) 不够了4倍增加 当到了5W(阀) 变为一倍
输入 算法具有0个或多个输入
输出 算法至少有一个或者多个输出
有穷性 在又穷部署之后会自动结束不会无限循环
确定性 每一步都有确定的含义
可行性 每一步都是可行的
时间复杂度 大o
list 内置操作的时间复杂度
index o(1) index assignment o(1) append o(1)
pop() o(1) pop(i) o(n) insert(i,item) o(n)
iteration o(n) contains o(n) get slice[x:y] o(k)
reverse o(n) concatenate o(k) sort o(nlongn)
dict 内置操作的时间复杂度
copy o(n) get item o(1) set item o(1)
delete item o(1) contanins o(1) iteration o(n)
程序 = 数据结构+算法
数据结构就是对基本数据类型的一次封装
抽象数据类型 ADT 把数据类型和数据类型上的运算捆绑在一起,进行封装
常用运算有 插入 删除 修改 查找 排序
内存基本单位是字节 1字节=8位
顺序表
顺序表的两种基本实现方式 a 一体式结构 b 分离式结构()
32位的机器一个整型4个字节4byte 字符串中的一个字符(Char)是一个字节 字符串后边还有个/0 也就是 多一个字符
顺序表基本布局 直接储存数据
元素外置顺序表 储存地址 用地址指向数据
保护序列 表尾插入数据时间复杂度 o(1) 指定位置插入元素 o(n) 非保护序列的 o(1)
支持扩充的顺序表称为动态数据表 list 控列表 8个元素的存储区 4byte(元素外置) 不够了4倍增加 当到了5W(阀) 变为一倍
相关文章推荐
- Relief 特征选择算法简单介绍
- Hash 算法原理简单介绍
- 常用数据结构以及算法的简单介绍
- 算法之---堆的简单介绍
- 【数据结构&&算法系列】归并排序简单介绍及python代码
- 算法笔记_070-BellmanFord算法简单介绍(Java)
- 【数据结构&&算法系列】快速排序简单介绍及实现
- 算法7-7:有向图简单介绍
- 学习笔记——K-means(1) 简要介绍、算法优劣、简单k-means的实现
- 简单介绍各种算法20150911
- 算法笔记_070-BellmanFord算法简单介绍(Java)
- 算法笔记_070-BellmanFord算法简单介绍(Java)
- 算法笔记_071-SPFA算法简单介绍(Java)
- 简单抽样算法介绍
- 算法设计和数据结构学习_5(BST&AVL&红黑树简单介绍)
- 简单介绍基于颜色的阴影检测算法
- k-近邻算法(KNN)--1简单原理介绍与实践---by香蕉麦乐迪
- 简单介绍树回归的算法原理
- 分块算法简单介绍
- 几种常用加解密算法简单介绍