数据算法_数据结构与算法

数据结构和算法的意义?

数据结构是数据的组织方式,算法是对数据的处理方式,合理的数据结构和算法,能够保证程序高效的运行。

算法的五大特性

输入:算法具有0个或多个输入

输出:算法具有1个或多个输出

确定性:算法每一步有确定的含义,不能有二义性

可行性:算法有限次完成

算法的评价方式?

算法的复杂度一般采用大O记法表示,评估算法的好坏往往分析算法的最坏情况下的时间复杂度、空间复杂度。

时间复杂度计算:时间复杂度只表示程序最多运行次数,只标识量级,舍弃系数和次要项。

4852f5de6bc965883b62d5d93b94e57f.png

时间复杂度量级:(1) < O(logn) < O(n) < O(nlogn) < O(n2) < O(n3) < O(2n) < O(n!) < O(nn)

算法的运行时间计算?

python:采用time模块计算时间

import time
dt = []
start = time.time()
dt.append(1)
print("cost time is {0}".format(time.time() - start))

python:采用timeit模块计算时间

import timeit
dt = []
fun = timeit.Timer('dt.append(1)',"from __main__ import dt")
print(fun.timeit(number=1000))#打印运行1000次dt.append(1)所需要时间

C++:采用time.h计算时间

#include<time.h>
clock_t start = clock();
for (int i = 0; i < 5000; i++){
	for (int j = 0; j < 5000; j++){
		;
	}
}
clock_t end = clock();
cout << double(end - start) <<"ms" << endl;

常用的数据结构有:顺序表、链表、栈、队列、树、

常用算法:排序算法、查找算法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值