从《基于比较的排序结构总结》中我们知道:全依赖“比较”操作的排序算法时间复杂度的一个下界O(N*logN)。但确实存在更快的算法。这些算法并不是不用“比较”操作,也不是想办法将比较操作的次数减少到logN。而是利用对待排数据的某些限定性假设,来避免绝大多数的“比较”操作。桶排序就是这样的原理。桶排序的基本思想假设有一组长度为N的待排关键字序列K[1....n]。首先将这个序列划分成M个的子区间(桶)。然后基于某种映射函数,将待排序列的关键字k映射到第i个桶
系统 2019-08-29 21:59:41 2071
暴雪公司有个经典的字符串的hash公式先提一个简单的问题,假如有一个庞大的字符串数组,然后给你一个单独的字符串,让你从这个数组中查找是否有这个字符串并找到它,你会怎么做?有一个方法最简单,老老实实从头查到尾,一个一个比较,直到找到为止,我想只要学过程序设计的人都能把这样一个程序作出来,但要是有程序员把这样的程序交给用户,我只能用无语来评价,或许它真的能工作,但...也只能如此了。最合适的算法自然是使用HashTable(哈希表),先介绍介绍其中的基本知识,
系统 2019-08-12 09:30:13 2071
在爬虫前,需要知道这两个知识点!!!字符串转字节类型str-->bytesencode()字节类型转字符串bytes-->strdecode()1.以一个简单的例子讲解urllib.request方法read读取相应内容,内容geturl获取请求的urlgetheaders获取头部信息getcode获取状态码readlines按行读取,返回列表,都是字节类型1.1获取百度的网页代码importurllib.requesturl="https://www.b
系统 2019-09-27 17:57:13 2070
字典转换为字符串if__name__=='__main__':a={'a':1,'b':2,'c':3}b=str(a)print(type(b))输出结果为:---------------------------------------------------------------字符串转换为字典if__name__=='__main__':a="{'a':1,'b':2,'c':3}"b=eval(a)print(type(b))输出结果为:以上这篇
系统 2019-09-27 17:57:02 2070
图虫网-写在前面经历了一顿噼里啪啦的操作之后,终于我把博客写到了第10篇,后面,慢慢的会涉及到更多的爬虫模块,有人问scrapy啥时候开始用,这个我预计要在30篇以后了吧,后面的套路依旧慢节奏的,所以莫着急了,100篇呢,预计4~5个月写完,常见的反反爬后面也会写的,还有fucklogin类的内容。图虫网-爬取图虫网为什么要爬取这个网站,不知道哎~莫名奇妙的收到了,感觉图片质量不错,不是那些妖艳贱货可以比的,所以就开始爬了,搜了一下网上有人也在爬,但是基本
系统 2019-09-27 17:56:55 2070
爬虫的概念:爬虫就是获取网页并提取和保存信息的自动化程序爬虫的分类:主要有四类:通用网络爬虫,聚焦网络爬虫,增量式网络爬虫,深层网络爬虫爬虫的流程:常见的几种爬虫问题:主要有五类:静态网页的爬取,Ajax数据的爬取,动态渲染页面爬取,验证码的识别,代理的使用常见的爬虫框架:pyspider框架,Scrapy框架分布式爬虫:在多台机器上运行爬虫程序爬虫的一些常用"库":解析库:lxml;BeautifulSoup;pyquery;tesserocr请求库:r
系统 2019-09-27 17:56:05 2070
[Python标准库]decimal――定点数和浮点数的数学运算作用:使用定点数和浮点数的小数运算。Python版本:2.4及以后版本decimal模块实现了定点和浮点算术运算符,使用的是大多数人所熟悉的模型,而不是程序员熟悉的模型,即大多数计算机硬件实现的IEEE浮点数运算。Decimal实例可以准确地表示任何数,对其上取整或下取整,还可以对有效数字个数加以限制。Decimal小数值表示为Decimal类的实例。构造函数取一个整数或字符串作为参数。使用浮
系统 2019-09-27 17:56:03 2070
字符串的操作太多了,也很特别,所以我要把它单独拿出来参考文章:Python中常见字符串去除空格的方法总结https://www.cnblogs.com/fandx/p/9311755.html0、python去掉字符串中空格的方法https://www.cnblogs.com/zywscq/p/5325604.html原来哥哥已经收藏你了,超过13万的阅读量1、python3字符串操作总结https://www.cnblogs.com/jiduxia/p/
系统 2019-09-27 17:55:34 2070
在有些情况下,存储数据的内存分配不能位于连续的内存块中。所以我们接受指针的帮助,其中数据和数据元素的下一个位置的地址也被存储。所以我们从当前数据元素的值中知道下一个数据元素的地址。通常这样的结构被称为指针。但在Python中,我们将它们称为节点。节点是各种其他数据结构链接列表和发can可以在python中处理的基础。创建节点这些节点是通过实现一个将保存指针和数据元素的类来创建的。在下面的例子中,我们创建了一个名为daynames的类来保存星期几的名称。ne
系统 2019-09-27 17:55:33 2070
在初步了解Python多进程之后,我们可以继续探索multiprocessing包中更加高级的工具。这些工具可以让我们更加便利地实现多进程。进程池进程池(ProcessPool)可以创建多个进程。这些进程就像是随时待命的士兵,准备执行任务(程序)。一个进程池中可以容纳多个待命的士兵。“三个进程的进程池”比如下面的程序:复制代码代码如下:importmultiprocessingasmuldeff(x):returnx**2pool=mul.Pool(5)r
系统 2019-09-27 17:53:52 2070