摘要:
面试官就爱这些,写不出来,基础太差,soanyway,随时都能写出来。 1.冒泡排序,T(n) = O(n**2) # 冒泡排序,T(n) = O(n**2) def bubble_sort(li): print(li) for i in range(len(li)-1): # i代表第几趟 for 阅读全文
posted @ 2017-09-21 20:31
Adamanter
阅读(203)
评论(0)
推荐(0)
摘要:
二分法查找 二分法示例 # 1.二分法查找相同数 # Given an array of integers sorted in ascending order, find the starting and ending position of a given target value. # Your 阅读全文
posted @ 2017-09-21 20:29
Adamanter
阅读(149)
评论(0)
推荐(0)
摘要:
时间复杂度 # 时间复杂度 print("hello world") # T(n) = O(1) for i in range(n): print("hello world") # T(n) = O(n) for i in range(n): for j in range(n): print("he 阅读全文
posted @ 2017-09-21 20:26
Adamanter
阅读(420)
评论(0)
推荐(0)
摘要:
意图:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。角色: 抽象类(AbstractClass):定义抽象的原子操作(钩子操作);实现一个模板方法作为算法的骨架。 具体类(ConcreteClass):实现原子操作适用场 阅读全文
posted @ 2017-09-21 20:03
Adamanter
阅读(112)
评论(0)
推荐(0)
摘要:
意图:定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。角色: 抽象策略(Strategy) 具体策略(ConcreteStrategy) 上下文(Context)适用场景: 许多相关的类仅仅是行为有异。“策略”提供了一种用多个行为中的一个行为来 阅读全文
posted @ 2017-09-21 20:02
Adamanter
阅读(190)
评论(0)
推荐(0)
摘要:
意图:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时, 所有依赖于它的对象都得到通知并被自动更新。观察者模式又称“发布-订阅”模式角色: 抽象主题(Subject) 具体主题(ConcreteSubject)——发布者 抽象观察者(Observer) 具体观察者(ConcreteObs 阅读全文
posted @ 2017-09-21 20:00
Adamanter
阅读(154)
评论(0)
推荐(0)
摘要:
意图:提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示 适用性: 访问一个聚合对象的内容而无需暴露它的内部表示。 支持对聚合对象的多种遍历。 为遍历不同的聚合结构提供一个统一的接口(即, 支持多态迭代)。 实现方法:__iter__、__next__ 1 class Ra 阅读全文
posted @ 2017-09-21 19:59
Adamanter
阅读(75)
评论(0)
推荐(0)
摘要:
意图:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。角色: 抽象处理者(Handler) 具体处理者(ConcreteHandler) 客户端(Client)适用场景: 有多个对象可以处理一个请求,哪个 阅读全文
posted @ 2017-09-21 19:58
Adamanter
阅读(126)
评论(0)
推荐(0)
摘要:
意图:为其他对象提供一种代理以控制对这个对象的访问。在需要用比较通用和复杂的对象指针代替简单的指针的时候,使用Proxy模式。角色: 抽象实体(Subject) 实体(RealSubject) 代理(Proxy)适用场景: 远程代理:为远程的对象提供代理。一个对象在不同的地址空间提供局部代表。 虚代 阅读全文
posted @ 2017-09-21 19:56
Adamanter
阅读(112)
评论(0)
推荐(0)
摘要:
意图:将对象组合成树形结构以表示“部分-整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。角色: 抽象组件(Component) 叶子组件(Leaf) 复合组件(Composite) 客户端(Client) 适用场景: 表示对象的“部分-整体”层次结构(特别是结构是递归的) 希 阅读全文
posted @ 2017-09-21 19:55
Adamanter
阅读(90)
评论(0)
推荐(0)
摘要:
# 结构型设计模式:# 其主要用来处理一个系统中不同实体(比如类和对象)之间关系,关注的是提供一种简单的对象组合方式来创造新的功能。# 当我们希望把一个老组件用于一个新组系统或者把一个新组件应用于老系统中,同时在代码无法修改的,# 或者说无法访问这些代码时(在实际开发中,旧系统的代码修改后牵一而动全 阅读全文
posted @ 2017-09-21 19:54
Adamanter
阅读(149)
评论(0)
推荐(0)
摘要:
建造者模式 意图:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 适用场景: 当创建复杂对象的算法(Director)应该独立于该对象的组成部分(Builder)以及它们的装配方式时 当构造过程允许被构造的对象有不同的表示时(不同Builder)。角色: 抽象建造者(Bu 阅读全文
posted @ 2017-09-21 19:49
Adamanter
阅读(138)
评论(0)
推荐(0)
摘要:
简单工厂模式 创建对象放在了工厂类中,而不是再暴露在外边,通过工厂类实现所有操作。 内容:不直接向客户端暴露对象创建的实现细节,而是通过一个工厂类来负责返回创建产品类的实例。 角色: 工厂角色(Creator) 抽象产品角色(Product) 具体产品角色(Concrete Product)优点: 阅读全文
posted @ 2017-09-21 19:48
Adamanter
阅读(186)
评论(0)
推荐(0)
摘要:
在大学时候,教授讲设计模式和算法大家都是在睡觉......并没有人觉得他们有用。 什么是设计模式 设计模式的四个基本要素 设计模式的分类 设计模式的六大原则 面向对象与设计模式 例子: 阅读全文
posted @ 2017-09-21 19:40
Adamanter
阅读(183)
评论(0)
推荐(0)
摘要:
sqlalchemy是什么 sqlalchemy 创建单表 sqlalchemy 基本增删改查 简述ORM机制原理 阅读全文
posted @ 2017-09-21 17:49
Adamanter
阅读(309)
评论(0)
推荐(0)
摘要:
优秀就是不断的努力,永远不放弃,谁都可以,要相信自己。 程序猿的江湖十段路: 第一阶段,此时正处于对编程的整体概念形成阶段,拘泥于招式,不求变化。此为第一境界:起运招式,中规中矩。 第二阶段,匀称的键盘敲击声,未见停歇。只因框架早已搭好,只需在里面填充代码。 局限在大框架下,有新意,却没有大变化。 此为第二境界:前人武功,加身勤用。 第三阶段,少年脸上稚气渐退,有... 阅读全文
posted @ 2017-09-21 17:20
Adamanter
阅读(270)
评论(0)
推荐(0)
摘要:
数据库事务 数据库事务干什么用 数据库事务的四大特性 阅读全文
posted @ 2017-09-21 17:15
Adamanter
阅读(94)
评论(0)
推荐(0)
摘要:
这个东西目前用的不多,但是很强大,性能很高,用python插入三百万数据非常慢,CPU还烧到90度,存储过程执行了存储语句之后,相当迅速 复杂的存储过程 这个就是我写的简单的插入数据库三百万条数据的存储过程 阅读全文
posted @ 2017-09-21 16:59
Adamanter
阅读(135)
评论(0)
推荐(0)
摘要:
python有函数,数据库也有函数,有内置函数和自定义函数 内置函数 自定义函数: 阅读全文
posted @ 2017-09-21 16:55
Adamanter
阅读(104)
评论(0)
推荐(0)
摘要:
什么是触发器 触发器例子 阅读全文
posted @ 2017-09-21 16:51
Adamanter
阅读(191)
评论(0)
推荐(0)
摘要:
视图作用: 视图的基本操作: 阅读全文
posted @ 2017-09-21 16:47
Adamanter
阅读(138)
评论(0)
推荐(0)
摘要:
用简单的登陆来看这个模块的操作 用pymysql操作增删改查 简单总结 阅读全文
posted @ 2017-09-21 16:38
Adamanter
阅读(133)
评论(0)
推荐(0)
摘要:
创建表 增:insert into ... values() 删:delete from ... where id = 改:update tbname set where 查:select * from where/between and/in/not in/name like 分页 排序:asc/ 阅读全文
posted @ 2017-09-21 16:23
Adamanter
阅读(153)
评论(0)
推荐(0)
摘要:
cs and bs http协议:短链接,一次发送接收即断开 socket+http模拟发送信息 阅读全文
posted @ 2017-09-21 15:54
Adamanter
阅读(155)
评论(0)
推荐(0)
摘要:
队列:管道或者巷子,先进先出 队列的生产者消费者模型 栈:后进先出或者先进后出 阅读全文
posted @ 2017-09-21 15:36
Adamanter
阅读(240)
评论(0)
推荐(0)
摘要:
客户端 服务端 基于select模块实现io多路复用 阅读全文
posted @ 2017-09-21 15:29
Adamanter
阅读(139)
评论(0)
推荐(0)
摘要:
IO 涉及到的对象和步骤 1、blocking IO (阻塞IO): 2、non-blocking IO(非阻塞IO) 3、IO multiplexing(IO多路复用) 4、AsynchronousI / O(异步IO): 5、综合 IO多路复用的客户端和服务器端 阅读全文
posted @ 2017-09-21 15:26
Adamanter
阅读(250)
评论(0)
推荐(0)
摘要:
协称单线程 协程gevent自动切换线程 协程第三方库greenlet 阅读全文
posted @ 2017-09-21 13:36
Adamanter
阅读(108)
评论(0)
推荐(0)
摘要:
# Semaphore管理一个内置的计数器, # 每当调用acquire()时内置计数器-1; # 调用release() 时内置计数器+1; # 计数器不能小于0;当计数器为0时,acquire()将阻塞线程直到其他线程调用release()。 # # 实例:(同时只有5个线程可以获得semaphore,即可以限制最大连接数为5): # 应用:连接池 # 思考:与Rlock的区别? imp... 阅读全文
posted @ 2017-09-21 13:33
Adamanter
阅读(111)
评论(0)
推荐(0)
摘要:
# 锁通常被用来实现对共享资源的[同步]访问。 # 为每一个共享资源创建一个Lock对象, # 当你需要访问该资源时,调用acquire方法来获取锁对象(如果其它线程已经获得了该锁,则当前线程需等待其被释放), # 待资源访问完后,再调用release方法释放锁: import time import threading def addNum(): global num #在每个线程... 阅读全文
posted @ 2017-09-21 13:32
Adamanter
阅读(305)
评论(0)
推荐(0)
摘要:
# # 线程的一个关键特性是每个线程都是独立运行且状态不可预测。 # 如果程序中的其 他线程需要通过判断某个线程的状态来确定自己下一步的操作,这时线程同步问题就 会变得非常棘手。 # 为了解决这些问题,我们需要使用threading库中的Event对象。 # 对象包含一个可由线程设置的信号标志,它允许线程等待某些事件的发生。 # 在 初始情况下,Event对象中的信号标志被设置为假。 # 如果有... 阅读全文
posted @ 2017-09-21 13:31
Adamanter
阅读(938)
评论(0)
推荐(0)
摘要:
python基本进程调用 阅读全文
posted @ 2017-09-21 13:30
Adamanter
阅读(147)
评论(0)
推荐(0)
摘要:
何谓死锁 何谓递归锁 代码详细 阅读全文
posted @ 2017-09-21 13:29
Adamanter
阅读(463)
评论(0)
推荐(0)
摘要:
线程类主动创建线程对象 继承线程类创建对象 阅读全文
posted @ 2017-09-21 13:24
Adamanter
阅读(273)
评论(0)
推荐(0)
摘要:
其他基本概念 # 进程,线程,协程 # 串行,并行,并发 # 同步/异步 阻塞/非阻塞 # # # python 的多线程败笔: # 多进程可以并行,然而由于GIL锁的缘故,导致同一时刻,同一进程,只能有一个线程运行。 # 多线程不可进行并行。 # # 并行是最快的,并发速度稍微慢点 # join: 阅读全文
posted @ 2017-09-21 13:22
Adamanter
阅读(314)
评论(0)
推荐(0)

浙公网安备 33010602011771号