博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据结构和算法对python意味着什么?
阅读量:7174 次
发布时间:2019-06-29

本文共 703 字,大约阅读时间需要 2 分钟。

数据结构和算法对于python而言是他的灵魂;程序是数据结构加上算法来实现的,对于任何一门编程语言都离不开数据结构和算法,但是对于python而言内置了基础的数据结构如列表、字典、集合等,再加上众多包,所以弱化了数据结构和算法的使用。

但是在一些特定领域对数据结构和算法的要求也很高,如大数据分析和人工智能之中应用广泛;同时数据结构和算法关系程序运行的效率,是每个程序员不得不考虑的问题。

本月专题是python数据结构和算法;数据结构将涉及顺序表、链表、堆栈、队列、树、二叉树、平衡二叉树、红黑树;算法将涉及排序算法(冒泡排序、选择排序、插入排序、快速排序、希尔排序、归并排序)、查找算法(顺序查找、二分法查找、二叉树查找、哈希查找

对于算法性能的衡量问题

算法性能的衡量不再是以运行开始到运行结束的时间来衡量,因为对于不同性能的计算机会产生不同的差异,所以算法的衡量主要以时间复杂度(以一种趋势和运算数量级来表示)。

时间复杂度:假设存在函数g,使得算法A处理规模为n的问题示例所用时间为T(n)=O(g(n)),则称O(g(n))为算法A的渐近时间复杂度,简称时间复杂度,记为T(n),它主要以算法的趋势和数量级来看,如100*n的平方与1000*n的平方,他们的时间复杂度是相同的。

就像迭代输出一个n*n的多维数组,他的时间复杂度就是N*N即n的平方

2019-04-01-22_41_08.png

python内置数据结构(列表、字典)的操作时间复杂度如下:

2019-04-01-22_41_09.png

2019-04-01-22_41_09.png

针对列表而言,append时间复杂度优于insert,pop()优于pop(i)那是因为数据结构导致了操作前面位置的元素要挪动该元素之后的元素,所以算法对我们的性能性能提升关键。

转载地址:http://pydzm.baihongyu.com/

你可能感兴趣的文章
win7 管理员权限
查看>>
docker下redis集群搭建
查看>>
composer出现proc_open,fileinfo问题
查看>>
无ROWID优化(The WITHOUT ROWID Optimization)
查看>>
Android第七课 探索Activity的生命周期
查看>>
求排列
查看>>
Cisco-CCNP之OSPF链路状态路由协议(三)
查看>>
CentOS 7 系列(一)系统服务 systemd
查看>>
Hive 数据倾斜总结
查看>>
mysql查询结果处理
查看>>
扫描识别控件Dynamic Web TWAIN v12.3.1发布,更新服务证书丨附下载
查看>>
VintaSoft PDF插件VintaSoftPDF.NET Plug-in更新至v5.6,新增多页查看模式
查看>>
windows环境中不重启电脑杀死占用某个端口的进程
查看>>
“90+68”的完美转变
查看>>
Kubernetes上的负载均衡详解
查看>>
centos7格式化大于2T的硬盘
查看>>
为什么要进行项目总结呢?又如何进行项目总结呢?
查看>>
iOS——重写Cell分割线
查看>>
window与linux下,php的redis扩展安装
查看>>
VirtualBox虚拟机网络设置
查看>>