- 博客(1)
- 资源 (3)
- 收藏
- 关注
原创 计算n阶乘中尾部零的个数--O(logN)算法
正文 问题 设计一个算法,计算出n阶乘中尾部零的个数 样例 11! = 39916800,因此应该返回 2 挑战 O(logN)的时间复杂度 思路 n的阶乘即从1连乘到n的积,尾部0的个数只会由因数2与5的乘积产生,对任意i*2^j都会有小于该数的i*5^j,故因数2的个数>=因素5的个数,所以只需统计因数5^j的个数即可。如果直接计算因数5^2的个数,则算法复杂度较高,
2018-01-12 12:01:05 2096
SQL必知必会(第4版)+代码.zip
SQL基础教程。
SQL是使用广泛的数据库语言,几乎所有重要的DBMS都支持SQL。《图灵程序设计丛书:SQL必知必会(第4版)》由浅入深地讲解了SQL的基本概念和语法,涉及数据的排序、过滤和分组,以及表、视图、联结、子查询、游标、存储过程和触发器等内容,实例丰富,便于查阅。新版增加了针对ApacheOpenOfficeBase、MariaDB、SQlite等DBMS的描述,并根据新版本的Oracle、SQLServer、MySQL和PostgreSQL更新了相关示例。
《图灵程序设计丛书:SQL必知必会(第4版)》适合SQL初学者,也可供广大开发及管理人员参考。
本资源仅供学习使用。
2018-04-06
Python爬虫开发与项目实战(带目录).pdf
本文档仅供学习使用。
Python爬虫开发与项目实战 PDF 完整扫描版
Python是一门简明、易学的语言 ,本书适合入门,进阶,
python学好很有必要,尤其是对机器学习部分感兴趣的小伙伴。
python爬虫开发与项目实战 pdf
第 1 章回顾 Python 编程 1.1 安装 Python
1.1.1 Windows 安装 Python
1.1.2 Ubuntu 安装 Python 1.2 搭建开发环境
1.2.1 Eclipse+pydev
1.2.2 PyCharm
1.3 IO 编程
1.3.1 文件读写
1.3.2 操作文件和目录
1.3.3 序列化操作 1.4 进程和线程
1.4.1 多进程 1.4.2 多线程 1.4.3 协程
1.4.4 分布式进程
1.5 网络编程
1.5.1 TCP 编程
1.5.2 UDP 编程 1.6 小结
第 2 章 Web 前端基础 2.1 W3C 标准
2.1.1 HTML 2.1.2 CSS
2.1.3 JavaScript 2.1.4 XPath 2.1.5 JSON
2.2 HTTP 标准
2.2.1 HTTP 请求过程
2.2.2 HTTP 状态码含义 2.2.3 HTTP 头部信息 2.2.4 Cookie 状态管理 2.2.5 HTTP 请求方式
2.3 小结
第 3 章 初识网络爬虫
3.1 网络爬虫概述
3.1.1 网络爬虫及其应用 3.1.2 网络爬虫结构
3.2 HTTP 请求的 Python 实现 3.2.1 urllib2/urllib 实现 3.2.2 httplib/urllib 实现 3.2.3 更人性化的 requests
3.3 小结
第4章 HTML解析大法
4.1 初识 Firebug
4.1.1 安装 Firebug
4.1.2 强大的功能 4.2 正则表达式
4.2.1 基本语法与使用
4.2.2 Python 与正则 4.3 强大的 BeautifulSoup
4.3.1 安装 BeautifulSoup 4.3.2 BeautifulSoup 的使用 4.3.3 lxml 的 XPath 解析
4.4 小结
第 5 章 数据存储(无数据库版)
5.1 HTML 正文抽取 5.1.1 存储为 JSON
5.1.2 存储为 CSV 5.2 多媒体文件抽取
5.3 Email
5.4 小结
第 6 章实战项目:基础爬虫
6.1 基础爬虫架构及运行流程 6.2URL 管理器
6.3HTML 下载器
6.4HTML 解析器
6.5 数据存储器 6.6 爬虫调度器 6.7 小结
第 7 章实战项目:简单分布式爬虫 7.1 简单分布式爬虫结构 7.2 控制节点 ControlNode
7.2.1URL 管理器 7.2.2 数据存储器 7.2.3 控制调度器
7.3 爬虫节点 SpiderNode 7.3.1HTML 下载器 7.3.2HTML 解析器
……
2018-01-07
流畅的Python文字版PDF+代码
下面是本书每一部分的主题。
第一部分
第一部分只有单独的一章, 讲解的是 Python 的数据模型(data model) , 以及如何为
了保证行为一致性而使用特殊方法(比如 __repr__) , 毕竟 Python 的一致性是出了名
的。 其实整本书几乎都是在讲解 Python 的数据模型, 第 1 章算是一个概览。
第二部分
第二部分包含了各种集合类型: 序列(sequence) 、 映射(mapping) 和集合
(set) , 另外还提及了字符串(str) 和字节序列(bytes) 的区分。 说起来, 最后这一
点也是让亲者(Python 3 用户) 快, 仇者(Python 2 用户) 痛的一个关键, 因为这个区分
致使 Python 2 代码迁移到 Python 3 的难度陡增。 第二部分的目标是帮助读者回忆起 Python
内置的类库, 顺带解释这些类库的一些不太直观的地方。 具体的例子有 Python 3 如何在我
们观察不到的地方对 dict 的键重新排序, 或者是排序有区域(locale) 依赖的字符串时
的注意事项。 为了达到本部分的目标, 有些地方的讲解会比较大而全, 像序列类型和映射
类型的变种就是这样; 有时则会写得很深入, 比方说我会对 dict 和 set 底层的散列表进
行深层次的讨论。
第三部分
如何把函数作为一等对象(first-order object) 来使用。 第三部分首先会解释前面这句话是什么意思, 然后话题延伸到这个概念对那些被广泛使用的设计模型的影响, 最后读者
会看到如何利用闭包(closure) 的概念来实现函数装饰器(function decorator) 。 这一部
分的话题还包括 Python 的这些基本概念: 可调用(callable) 、 函数属性(function
attribute) 、 内省(introspection) 、 参数注解(parameter annotation) 和 Python 3 里新出现
的 nonlocal 声明。
第四部分
到了这里, 书的重点转移到了类的构建上面。 虽然在第二部分里的例子里就有类声明
(class declaration) 的出现, 但是第四部分会呈现更多的类。 和任何面向对象语言一样,
Python 还有些自己的特性, 这些特性可能并不会出现在你我学习基于类的编程的语言中。
这一部分的章节解释了引用(reference) 的原理、 “可变性”的概念、 实例的生命周期、 如
何构建自定义的集合类型和 ABC、 多重继承该怎么理顺、 什么时候应该使用操作符重载
及其方法。
第五部分
Python 中有些结构和库不再满足于诸如条件判断、 循环和子程序(subroutine) 之类的
顺序控制流程, 第五部分的笔墨会集中在这些构造和库上。 我们会从生成器(generator)
起步, 然后话题会转移到上下文管理器(context manager) 和协程(coroutine) , 其中会
涵盖新增的功能强大但又不容易理解的 yield from 语法。 这一部分以并发性和面向事件
的 I/O 来结尾, 其中跟并发性相关的是 collections.futures 这个很新的包, 它借助
futures 包把线程和进程的概念给封装了起来; 而跟面向事件 I/O 相关的则是 asyncio,
它的背后是基于协程和 yield from 的 futures 包。
第六部分
第六部分的开头会讲到如何动态创建带属性的类, 用以处理诸如 JSON 这类半结构化
的数据。 然后会从大家已经熟悉的特性(property) 机制入手, 用描述符从底层来解释
Python 对象属性的存取。 同时, 函数、 方法和描述符的关系也会被梳理一遍。 第六部分会
从头至尾地实现一个字段验证器, 在这个过程中我们会遇到一些微妙的问题, 然后在最后
一章中就自然引出像类装饰器(class decorator) 和元类(metaclass) 这些高级的概念。
2017-11-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人