python二分法查找

二分法查找 二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录...

2018-08-29 10:02:04

阅读数 69

评论数 0

树与树算法

树的概念 树(英语:tree)是一种抽象数据类型(ADT)或是实作这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合。它是由n(n>=1)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下...

2018-08-29 10:01:04

阅读数 58

评论数 0

python双端队列及其实现

双端队列 双端队列(deque,全名double-ended queue),是一种具有队列和栈的性质的数据结构。 双端队列中的元素可以从两端弹出,其限定插入和删除操作在表的两端进行。双端队列可以在队列任意一端入队和出队。   操作 Deque() 创建一个空的双端队列 add_fron...

2018-08-28 13:12:18

阅读数 139

评论数 0

python队列及其实现

队列(queue)是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。 队列是一种先进先出的(First In First Out)的线性表,简称FIFO。允许插入的一端为队尾,允许删除的一端为队头。队列不允许在中间部位进行操作!假设队列是q=(a1,a2,……,an),那么a1就是队头...

2018-08-28 13:11:07

阅读数 312

评论数 0

python中的栈及其实现

栈(stack),有些地方称为堆栈,是一种容器,可存入数据元素、访问元素、删除元素,它的特点在于只能允许在容器的一端(称为栈顶端指标,英语:top)进行加入数据(英语:push)和输出数据(英语:pop)的运算。没有了位置概念,保证任何时候可以访问、删除的元素都是此前最后存入的那个元素,确定了一种...

2018-08-28 10:17:09

阅读数 245

评论数 0

python单向循环链表

单向循环链表 单链表的一个变形是单向循环链表,链表中最后一个节点的next域不再为None,而是指向链表的头节点。   操作 is_empty() 判断链表是否为空 length() 返回链表的长度 travel() 遍历 add(item) 在头部添加一个节点 append(...

2018-08-28 10:08:09

阅读数 91

评论数 0

python双向链表

双向链表 一种更复杂的链表是“双向链表”或“双面链表”。每个节点有两个链接:一个指向前一个节点,当此节点为第一个节点时,指向空值;而另一个指向下一个节点,当此节点为最后一个节点时,指向空值。     操作 is_empty() 链表是否为空 length() 链表长度 travel(...

2018-08-28 10:03:51

阅读数 162

评论数 0

python单向链表

单向链表 单向链表也叫单链表,是链表中最简单的一种形式,它的每个节点包含两个域,一个信息域(元素域)和一个链接域。这个链接指向链表中的下一个节点,而最后一个节点的链接域则指向一个空值。 表元素域elem用来存放具体的数据。 链接域next用来存放下一个节点的位置(python中的标识) 变...

2018-08-28 10:01:35

阅读数 67

评论数 0

Python中的顺序表

Python中的顺序表 Python中的list和tuple两种类型采用了顺序表的实现技术,具有顺序表的所有性质。 tuple是不可变类型,即不变的顺序表,因此不支持改变其内部状态的任何操作,而其他方面,则与list的性质类似。 list的基本实现技术 Python标准类型list就是一种...

2018-08-28 09:57:47

阅读数 135

评论数 0

数据结构

数据结构 我们如何保存一个班的学生信息? 如果想要快速的通过学生姓名获取其信息呢? 实际上当我们在思考这个问题的时候,我们已经用到了数据结构。列表和字典都可以存储一个班的学生信息,但是想要在列表中获取一名同学的信息时,就要遍历这个列表,其时间复杂度为O(n),而使用字典存储时,可将学生姓名作为...

2018-08-28 09:52:43

阅读数 51

评论数 0

常见时间复杂度及对应关系

常见时间复杂度 执行次数函数举例 阶 非正式术语 12 O(1) 常数阶 2n+3 O(n) 线性阶 3n2+2n+1 O(n2) 平方阶 5log2n+20 O(logn) 对数阶 2n+3nlog2n+19 ...

2018-08-28 09:48:45

阅读数 675

评论数 0

时间复杂度与空间复杂度

时间复杂度与“大O记法” 我们假定计算机执行算法每一个基本操作的时间是固定的一个时间单位,那么有多少个基本操作就代表会花费多少时间单位。显然对于不同的机器环境而言,确切的单位时间是不同的,但是对于算法进行多少个基本操作(即花费多少时间单位)在规模数量级上却是相同的,由此可以忽略机器环境的影响而客...

2018-08-28 09:37:03

阅读数 43

评论数 0

HTML class和id

在HTML中,当在一个文档里面我们要对多个标签使用同一个样式的时候可以使用class或者id,当然一般不推荐为了使用样式而为标签添加id;使用javaScript可以获取class和id属性,从而对标签添加特定的行为。   元素唯一的ID:        在元素的开始标签中输入id名,格式 ...

2018-08-07 13:14:38

阅读数 75

评论数 0

Python中_,__,__xx__的区别

_xx 单下划线开头 Python中没有真正的私有属性或方法,可以在你想声明为私有的方法和属性前加上单下划线,以提示该属性和方法不应在外部调用.如果真的调用了也不会出错,但不符合规范. #! /usr/bin/python def singleton(cls): _inst...

2018-08-05 20:05:28

阅读数 34

评论数 0

Python sorted() 函数

描述 sorted() 函数对所有可迭代的对象进行排序操作。 sort 与 sorted 区别: sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。 list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的...

2018-08-04 19:01:18

阅读数 44

评论数 0

Python getattr() 函数

描述 getattr() 函数用于返回一个对象属性值。 语法 getattr 语法: getattr(object, name[, default]) 参数 object -- 对象。 name -- 字符串,对象属性。 default -- 默认返回值,如果不提供该参数,在没有...

2018-08-04 17:22:59

阅读数 337

评论数 0

selenium 处理cookie及switch的使用

1 selenium 处理cookie 通过driver.get_cookies()能够获取所有的cookie # 把cookie转化为字典 {cookie[‘name’]: cookie[‘value’] for cookie in driver.get_cookies()} #删除一条...

2018-07-27 19:42:59

阅读数 142

评论数 0

selenium的基本使用

1 加载网页: selenium通过控制浏览器,所以对应的获取的数据都是elements中的内容 ```python from selenium import webdriver driver = webdriver.PhantomJS() driver.get("htt...

2018-07-27 19:39:34

阅读数 116

评论数 0

无头浏览器

  想在python爬虫操作动态的数据,就必须学习selenium自动化测试工具, 而使用selenium的前提是需要无头浏览器(无界面浏览器) 1 什么是selenium Selenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的,Selenium 可以直接运行在浏览...

2018-07-27 19:36:55

阅读数 539

评论数 0

python生成器

1. 生成器 利用迭代器,我们可以在每次迭代获取数据(通过next()方法)时按照特定的规律进行生成。但是我们在实现一个迭代器时,关于当前迭代到的状态需要我们自己记录,进而才能根据当前状态生成下一个数据。为了达到记录当前状态,并配合next()函数进行迭代使用,我们可以采用更简便的语法,即生成器...

2018-07-23 12:30:33

阅读数 49

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭