您的位置:首页 > 其它

简单介绍算法一角

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(阀) 变为一倍
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  算法