- 博客(12)
- 收藏
- 关注
转载 排序之计数排序,基数排序和桶排序
一.计数排序计数排序不是比较排序。由于用来计数的数组C的长度取决于待排序数组中数据的范围(等于待排序数组的最大值与最小值的差加上1),这使得计数排序对于数据范围很大的数组,需要大量时间和内存。例如:计数排序是用来排序0到100之间的数字的最好的算法,但是它不适合按字母顺序排序人名。但是,计数排序可以用在基数排序中的算法来排序数据范围很大的数组。算法的步骤如下:1)找出待排序的...
2019-09-11 15:55:00
272
转载 Redis
一.介绍1.什么是redisredis是业界主流的key-value nosql 数据库之一。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且...
2019-09-06 13:22:00
147
转载 python之RabbitMQ队列
一.介绍RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统。他遵循Mozilla Public License开源协议。MQ全称为Message Queue,消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。消 息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接...
2019-09-06 09:29:00
247
转载 python可变类型与不可变类型
一.可变类型与不可变类型的特点1.不可变数据类型不可变数据类型在第一次声明赋值声明的时候, 会在内存中开辟一块空间, 用来存放这个变量被赋的值, 而这个变量实际上存储的, 并不是被赋予的这个值, 而是存放这个值所在空间的内存地址, 通过这个地址, 变量就可以在内存中取出数据了. 所谓不可变就是说, 我们不能改变这个数据在内存中的值, 所以当我们改变这个变量的赋值时, 只是在内存...
2019-09-05 17:57:00
123
转载 python中浅拷贝和深拷贝分析
首先,我们知道Python3中,有6个标准的数据类型,他们又分为可以变和不可变。不可变:Number(数字)、String(字符串)、Tuple(元组)。可以变:List(列表)、Dictionary(字典)、Set(集合)。一.浅拷贝a 和 b 是一个独立的对象,但他们的子对象还是指向统一对象(是引用)浅拷贝后,改变原始对象中为可变类型的元素的值,会同时影响拷贝对象;改变原始对...
2019-09-05 16:05:00
93
转载 python并发编程之IO模型(实践篇)
一.阻塞IO介绍略(请看概念篇)二.非阻塞IO在非阻塞式IO中,用户进程需要不断的主动询问kernel数据准备好了没有# 服务端import socketimport timeserver=socket.socket()server.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)ser...
2019-09-02 11:28:00
100
转载 python并发编程之协程(实践篇)
一.协程介绍协程:是单线程下的并发,又称微线程,纤程。一句话说明什么是线程:协程是一种用户态的轻量级线程,即协程是由用户程序自己控制调度的。对于单线程下,我们不可避免程序中出现io操作,但如果我们能在自己的程序中(即用户程序级别,而非操作系统级别)控制单线程下的多个任务能在一个任务遇到io阻塞时就切换到另外一个任务去计算,这样就保证了该线程能够最大限度地处于就绪态,即随时都可以被...
2019-09-02 10:13:00
125
转载 python并发编程之多线程(实践篇)
一.threading模块介绍官网链接:https://docs.python.org/3/library/threading.html?highlight=threading#1.开启线程的两种方式#直接调用import threadingimport timedef run(n): print('task',n) time.sleep...
2019-09-01 13:53:00
119
转载 python之网络编程
1.OSI协议与TCP/IP协议OSI是Open System Interconnection的缩写,意为开放式系统互联。国际标准化组织(ISO)制定了OSI模型,该模型定义了不同计算机互联的标准,是设计和描述计算机网络通信的基本框架。OSI模型把网络通信的工作分为7层,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。这是一种事实上被TCP/IP 4层模型淘汰的...
2019-08-31 17:07:00
118
转载 python并发编程之多进程(实践篇)
一 multiprocessing模块介绍python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源,在python中大部分情况需要使用多进程。Python提供了multiprocessing。multiprocessing模块用来开启子进程,并在子进程中执行我们定制的任务(比如函数),multiprocessing模块的功能众多:支持子进程、通信和共享数据、执行...
2019-08-31 16:22:00
177
转载 python之并发编程(概念篇)
一.进程 1.什么是进程进程是正在进行的一个过程或者一个任务。而负责执行任务的则是cpu。2.进程与程序的区别程序并不能单独运行,只有将程序装载到内存中,系统为它分配资源才能运行,而这种执行的程序就称之为进程。程序和进程的区别就在于:程序是指令的集合,它是进程运行的静态描述文本;进程是程序的一次执行活动,属于动态概念。同一个程序执行两次是两个进程。在多道编程中,我们...
2019-08-30 20:26:00
160
转载 数据结构与算法之排序算法(python实现)
1.冒泡排序冒泡排序的原理是依次比较相邻的两个数,如果前一个数比后一个数大则交换位置,这样一组比较下来会得到该组最大的那个数,并且已经放置在最后,下一轮用同样的方法可以得到次大的数,并且被放置在正确的位置,最终可以将所有的数放置在正确位置。例如56,99,34,10,38,7 这一组数第一趟比较的过程如下:56,99,34,10,38,7(位置不变)56,...
2019-08-29 20:02:00
388
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人