对任何一棵二叉树,度为0的结点(即叶子结点)总是比度为2的结点数多一个
最坏情况下比较次数:堆排序:nlog2n、快速排序:n(n-1)/2、简单插入排序:n(n-1)/2、冒泡排序:n(n-1)/2
Q(1:m)一般比较都是rear-front=q q如果大于0 就是q-1,q小于0的话就是q+m-1
如果front=rear=m,此时循环队列为空,front = rear!=m,此时队列为0或者m
循环链表是一种链式存储结构
循环队列是一种顺序存储结构
一个数据库可以有多个外模式(也称子模式或用户模式),但概念模式(全局数据逻辑结构)和内模式(物理模式)只能有一个。
数据定义:数据的模式定义与数据的物理存取构建
数据操纵:包括增删改查等操作
数据控制:数据完整性、安全性的定义与检查以及并发控制、故障恢复等功能
白盒的主要测试技术有逻辑覆盖测试(语句覆盖、路径覆盖、判定覆盖、条件覆盖、判断-条件覆盖)、基本路径测试等
黑盒测试(技术依据:软件功能的描述)主要是边界值分析
一个类继承另一个类,被继承的类称为超类或者父类
在子类继承父类的时候,父类的私有属性和方法不会被继承
python类的继承中,如果在子类中实现了一个公有方法,该方法也能调用继承的父类中的私有方法和私有属性
函数super需要两个实参,分别是子类名和对象self
数据模型:数据结构、数据操作、数据完整性约束组成
软件生存周期:
- 问题的定义及规划
- 需求分析
- 详细设计
- 程序编码
- 软件测试
- 维护运营
pyinstaller只能处理UTF-8编码的python源文件
在UTF-8编码中一个汉字需要占用3个字节
在GBK和CP936编码中一个汉字需要占用2个字节
python保留字:
and、as、assert、async、await、break、class、continue、def、del、elif、else、except、False、finally、for、from、global、if、import、in、is、lambda、None、nonlocal、not、or、pass、raise、return、True、try、while、with、yield
错误类型:
TypeErroe:对类型无效的操作既数据类型不匹配
python文件(f代表文件变量):
执行print(f)是不会报错的
open函数中r、w、x、a可以和b、t、+组合使用
f.read:从文件中读入整个文件内容 形成一个字符串' '
f.readline():从文件中读入一行的内容 形成一个字符串' ',不过只有一行
f.readlines():从文件中读取所有行,以每行为元素形成一个列表 [ ]
f.seek():定位当前文件操作指针的位置
f.tell():返回文件指针的当前位置
'r':只读模式,如果文件不存在,返回异常
'x':创建写模式,文件不存在则创建,存在则返回异常
'w':覆盖写模式,文件不存在则创建,存在则完全覆盖该文件
'a':追加写模式,文件不存在则创建,存在则在原文件后面追加内容
函数
<函数名> = lambda <参数列表>:<表达式> ls.sort(key=lambda x:x[1],reverse=True) def <函数名><参数列表>: return<表达式>
python组合数据类型:集合类型、映射类型(字典)、序列类型(列表类型和字符串类型和元组类型)
python三种基本数字类型:整数类型、浮点数类型、复数类型
保留两位小数 print('{:.2f}'.format(n))
Python的数值运算符号有:
“+”(加号)、“-”(减号)、“*”(乘号)、“/”(除号)、“//”(整除号、
"%"(取余数)、“**”(幂运算),整数之间运算结果为整数,整数和浮点数混合运算,结果为浮点数
Python有两种方法取得整数:向上取整 ; 向下取整
import numpy:
①import numpy ②import numpy as up ③from numpy import *④from numpy import ndarray
“/”(除法运算)就是向上取整 5/4=1.5→2
“//”(整除运算)就是向下取整 5/2=2.5→2
python标准库:random、time、Turtle
数据分析及可视化方向第三方库:numpy 、scipy、pandas、matplotlib、TVTK、mayavi2、wordcloud、seeaborn
数据存储方向第三方库:redis-py、PyMongo
机器学习方向第三方库:Tensorflow、PyTorch、MXNet、keras、theano
网络爬虫方向第三方库:scrapy、grap、requests
web开发方向第三方库:Django、Pyramid、Flask、pylons、Tornado
游戏开发方向第三方库:Pygame
文本处理方面第三方库:pdfminer、BeautifulSoup
处理图像第三方库:PIL
图形界面方面的第三方库:PyQt5
自然语言方面的第三方库:SnowNLP、loso、NLTK
计算机视觉的第三方库:Luminoth
用户界面开发的第三方库:PyQt、PyGObject、PyGTK
字典的操作方法:(d代表字典变量)
字典使用大括号{}建立,每个元素是一个键值对,使用方式:{<键1>:<值1>,<键2>:<值2~,.键n>:<值n>},其中,键和值通过冒号连接,不同键值对通过逗号隔开。
d.keys():返回所有键的信息
d.values():返回所有值的信息
d.items():返回所有的键值对
d.get(key,default):键存在则返回相应值,否则返回默认值default
d.pop(key,default):键存在则返回相应值,同时删除键值对,否则返回默认值default
d.popitem():随机从字典中取出一个键值对,以元组(key,value)形式返回,同时将该键值对从字典中删除
d.clear():删除所有的键值对,清空字典
Try-except:
Turtle:
以经过turtle.seth()函数处理后的小海龟为坐标原点,小海龟的头部朝向为x轴正方向建立直角坐标系。如图
如turtle.circle(40,80)的含义为:以y轴上距离小海龟40个像素的点为圆形(半径也为40),画一个弧度为80°的弧形
在Python中,“turtle.done()”的作用是暂停程序,停止画笔绘制,但绘图窗体不关闭,直到用户关闭Python Turtle图形化窗口为止;它的目的是给用户时间来查看图形,没有它,图形窗口会在程序完成是立即关闭。