Data Structure & Algorithm - 上部 DS - 20171128 第一章

2017-11-28 20:23:50

数据结构与算法

一 常见的数据类型分为两大类:

1. 基本数据类型, 系统定义的数据类型:char,  int, float, double. boolean

int  【 以 64 位的 为例: 2^(-15)  -- 2 ^ (15) -1 】

2. 用户自定义数据类型:如 Java  中的类,c/c++ 中的 struct

 

二 常见的数据结构分两种类型

1. 线性数据结构:可以按线性次序访问元素,但并不强制将所有元素连续地存储在一起,如链表,栈和队列。

2. 非线性数据结构:这种数据结构的元素是以非线性次序来存储和访问。如树和图。

 

三 抽象数据类型的定义 ADT 

1. 数据的声明

2. 运算的声明

 

四 运行时间分析

当问题的规模(输入规模)增大时, 它研究问题的处理时间是如何增加的。输入规模是指输入元素的个数。

常用的输入类型:

  • 数组的大小
  • 多项式的次数
  • 矩阵中元素的个数
  • 用二进制数表示的输入的位数
  • 图中的顶点和边

五 常用的增长率

增长率是指随着输入规模的增加,算法运行时间增加的速度,它是输入规模的函数。

时间复杂度名称实例时间复杂度名称实例
1常数在链表的前端增加一个元素n ^ 2平方求图中两个顶点之间的最短距离
log n对数在有序数组中查找一个元素n ^ 3立方矩阵乘法
n线性在无序数组中查找一个元素2 ^ n指数汉罗塔问题的求解
n log n线性对数通过分治--归并排序 n个元素   

 

转载于:https://www.cnblogs.com/masterSoul/p/7912144.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值