Python数据结构与算法(三)--数据结构的概念

上一章我们看Python内置的模块可以测试代码的时间,有的代码执行时间短有的执行时间长,就是说效率不一样。

如果上面不明显的话,大家看下面两个方法。append() 和 insert(0)

import timeit
def t6():li = []for i in range(10000):li.append(i)def t7():li = []for i in range(10000):li.insert(0, i)timer6 = timeit.Timer("t6()", "from __main__ import t6")
print("append", timer6.timeit(1000))timer7 = timeit.Timer("t7()", "from __main__ import t7")
print("insert(0)", timer7.timeit(1000))

执行结果。

append 1.1817268750736
insert(0) 25.375035200030037

我们看上面两个方法的概念,是append是向列表后面添加元素,insert(0) 是向列表前面添加。可以看出从前面添加要不从后面添加花费的时间更多。

为什么会有这样的差别呢?

我们看一下Python中列表和字典不同,假设我们要从数据中找到小明和数据我们需要的时间怎么样的操作。

[{name: '小a},{name: '小b'},{name: '小c'}, {name: '小明'} ... n] , 我们需要遍历这个列表然后才能知道那一条数据是小明。

{ '小a': {...}, '小b': {...}, '小c': {...},'小明': {...} ..... },如果在字典里面去查找我们就可以直接找到小明的数据。

数据结构的概念是:

数据是一个抽象的概念,将其进行分类后得到程序设计语言中的基本类型。如 int string float ...  数据元素之间不是独立的,存在特定的关系,这些关系便是结构。数据结构指数据对象中数据元素之间的关系。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/553597.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Win11开始菜单恢复Win10样式的方法

许多用户夹紧器都已经抢先体验升级了Windows11系统,但是对于一些用户来说,Windows11开始菜单的界面不是非常好用,想要将开始菜单改成Win10的样子。那么我们要怎么调整呢?下面小编就为大家具体讲解一下吧! Win11开始菜单恢复Win10样式的方法…

Python数据结构与算法(四)--顺序表

顺序表 在程序中,经常需要将一组(通常是同为某个类型的)数据元素作为整体管理和使用,需要创建这种元素组,用变量记录它们,传进传出函数等。一组数据中包含的元素个数可能发生变化(可以增加或删…

怎么修改腾讯视频的昵称

1、打开腾讯视频,点击打开个人中心。 如何在腾讯视频下载视频_怎么修改腾讯视频的昵称 2、然后此时选择箭头指向位置,打开头像。 如何在腾讯视频下载视频_怎么修改腾讯视频的昵称 3、此时点击上方的编辑个人资料,进入其中。 如何在腾讯视…

Python数据结构与算法(五)--链表

链表 链表的定义: 链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是不像顺序表一样连续存储数据,而是在每一个节点(数据存储单元)里存放下一个节点的位置信息(即地址…

via浏览器如何使用插件 Via浏览器添加使用插件教程

1、尽管Via浏览器的体积小巧,但其中提供的功能可谓是五脏俱全,而想要体验更多服务的话,就需要去安装插件了,这需要大家点击右上角的横杠选项,并且从列表里选择“设置”功能。 via浏览器如何使用插件 Via浏览器添加使用…

Python数据结构与算法(六)--栈和队列

栈和队列 栈(stack),有些地方称为堆栈,是一种容器,可存入数据元素、访问元素、删除元素,它的特点在于只能允许在容器的一端(称为栈顶端指标,英语:top)进行加…

win7系统如何提高电脑运行速度

win7系统是一款被大多数用户们认可的好用系统,在不断的对win7系统的使用中很多用户们都在寻找win7提高电脑运行速度的方法?今天小编就为大家带来了win7老电脑提升速度的解决办法让我们一起来看一下win7系统提高电脑运行速度的解决方法吧。 win7系统如何提高电脑运…

Python排序算法(一)冒泡排序、选择排序、插入排序

今天总结一下Python中的排序算法。这篇文章有的排序算法是:冒泡排序、选择排序、插入排序。 冒泡排序 先看一下代码。 冒泡排序 def bubble_sort(aList):n len(aList)for i in range(0, n - 1):for j in range(0, n - i - 1):if aList[j] > aList[j 1]:aList…

Win7系统虚拟键盘打开的方法

有时候自己的键盘使用久了以后经常会突然坏掉,这个时候我们可以开启电脑自带虚拟键盘来解燃眉之急。那么Win7的虚拟键盘该怎么打开?今天就和小编一起来看看Win7系统虚拟键盘打开的方法吧。 Win7系统虚拟键盘打开的方法 1、打开电脑左下角的“开始”,然…

Python排序算法(二) 快速排序、希尔排序、归并排序

这篇文章有的排序算法是&#xff1a;快速排序、希尔排序、归并排序。 快速排序 快速排序 def quick_sort(aList, first, last):if first > last:returnmin_val aList[first]low_index firsthight_index lastwhile low_index < hight_index:# hight 左移动while low_i…

怎么开启搜狗高速浏览器的手动升级?

搜狗高速浏览器是一款很好用的浏览器软件&#xff0c;随着软件的完善&#xff0c;我们也要对软件进行升级&#xff0c;才能享受更多更优质的功能&#xff0c;我们可以用手动升级来代替提示升级和自动升级所带来的不便&#xff0c;那么&#xff0c;怎么操作呢?下面就由小编来教…

Vue里引入three.js

最近因为three.js的项目要用Vue.js 来重构&#xff0c;所以不太清楚在Vue里面怎么引入。找了很多方法都是一直报错&#xff0c;最后在Stack Overflow找到了。 首先是下载包&#xff0c;直接用 npm install three --save 就行了。 然后就是在component里面引入。 <templat…

正则总结(Python)

正则大家都不陌生&#xff0c;工作中一定会接触到。最近在Python中用的了正则&#xff0c;所以顺便整理一下。 一、re模块的使用 #导入 re模块 import re# 使用match方法进行匹配操作 result re.match(正则表达式, 要匹配的字符串)# 如果上一步匹配到数据的话&#xff0c;可…

怎样查看优酷视频播放记录?

当我们在优酷上观看视频时&#xff0c;有时可能由于没空并不能一次性看完;或者&#xff0c;对于一些视频合集&#xff0c;也可能没有兴趣将其中的所有剧集挨个看遍&#xff0c;通常只是挑了那么一两个尝了尝鲜……这样一来&#xff0c;当下次来到优酷想接着播放时&#xff0c;对…

python二分法查找

常见的搜索方法&#xff1a;顺序查找、二分法查找、二叉树查找、哈希查找。 二分法查找 二分查找又称折半查找&#xff0c;优点是比较次数少&#xff0c;查找速度快&#xff0c;平均性能好&#xff1b;其缺点是要求待查表为有序表&#xff0c;且插入删除困难。因此&#xff0…

如何在搜狗浏览器更换页面字体?搜狗浏览器更换页面字体的方法

搜狗浏览器是一款提供给用户更好体验的浏览器&#xff0c;该软件拥有众多好用的功能&#xff0c;给用户带来更便利的服务&#xff0c;但是有时候又觉得太单调了&#xff0c;想换个字体&#xff0c;体验下不一样的感受&#xff0c;又不知道在哪里更换&#xff0c;接下来&#xf…

Python 二叉树实现

二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”&#xff08;left subtree&#xff09;和“右子树”&#xff08;right subtree&#xff09; 二叉树的节点表示以及树的创建 1、通过使用Node类中定义三个属性&#xff0c;分别为elem本身的值&#xff0c;还…

谷歌浏览器自动填充功能怎么开启?自动填充功能开启方法

为了避免用户在登录同一网站时频频输入账号、密码的现象&#xff0c;谷歌在自家的Chrome浏览器中贴心的加入了“自动填充功能”。那么&#xff0c;谷歌浏览器自动填充功能要怎么开启呢?不清楚操作方法的朋友&#xff0c;不妨收藏学习一下。 方法步骤 在Chrome地址栏输入“ch…

Python二叉树遍历

树的遍历是树的一种重要的运算。所谓遍历是指对树中所有结点的信息的访问&#xff0c;即依次对树中每个结点访问一次且仅访问一次&#xff0c;我们把这种对所有节点的访问称为遍历&#xff08;traversal&#xff09;。那么树的两种重要的遍历模式是深度优先遍历和广度优先遍历,…

Win11开始菜单怎么从中间移到左边?

相信不少用户都已经安装上了Windows11系统&#xff0c;但是有许多用户针对Windows11的开始菜单在中间非常的不习惯&#xff0c;想要把开始菜单移动到左边&#xff0c;像Win10系统那样。那么具体要怎么操作呢?下面小编就带着大家一起看看吧! 操作方法&#xff1a; 1、首先&am…