- 数据的存储结构:数据的逻辑结构在计算机中的表示
- 数据结构的描述:指相互有关联的数据元素的集合
- 线性链表:存储空间不一定连续,且各元素的存储顺序是任意的
- 结构化程序设计的基本结构:循环结构、分支结构、顺序结构
- 结构化设计方法生成的结构图中,带有箭头的连线表示模块之间的调用关系
- 结构化设计方法原则:自顶向下、模块化、逐步求精
- 结构化方法需求分析工具:数据流图(DFD)(带有名字的箭头表示数据的流向)、数据字典、判定树;
- 继承:指类之间共享属性和操作的机制
- 层次模型:是用树形结构表示实体之间联系的模型
- 函数:是一段具有特定功能的、可重用的语句组;
- 函数作用:增强代码的可读性、降低编程复杂度、复用代码
- Python中函数:标准函数、第三库函数、内建函数
- 组合数据类型:序列类型(str、tuple和list)、集合类型、映射类型、字典类型
- Python对文件的处理:能够以文本和二进制两种方式处理文件;通过解释器内置的open()函数打开一个文件;文件使用结束后要用close()方法关闭
- Python第三方库:
- Python 脚本程序转变为可执行程序的第三方库: PyInstaller库
- Python 中文分词的第三方库:jieba库:;jieba.cut(s)是精确模式,中文分词jieba.add_word(s)是向分词词典里增加新词s;jieba.lcut(s)是精确模式,词语
- Python 数据分析的第三方库:pandas、numpy、scipy、mayavi2
- Python中用于进行Web开发的第三方库:flask、Django、pyramid
- Python网络爬虫方向的第三方库:scrapy
- Python图像处理的第三方库:PIL
- Python用于开发用户界面的第三方库:PyQt、wxPython、pygtk
- Python用于文本处理方向的第三方库:pdfminer,openpyxl
- Python用于脚本程序转变为可执行的第三方库:pyinstaller
- Python用于生成词云的第三方库:wordcloud
- Python机器学习第三方库:sklearn
- Python HTML和XML解析的第三方库:Beautiful Soup
- Python用于深度学习的第三方库:Caffe2,MXNet,TensorFlow
- 算法的描述:指解题方案的准确而完整的描述;基本要素包括数据对象的运算和操作及算法的控制结构;具有可行性、确定性、有穷性的基本特征。
- 算法的时间复杂度:算法执行过程中所需要的基本运算次数及计算工作量
- 算法的有穷性:指算法程序的运行时间是有限的
- Eval函数:如果用户希望输入一个数字,并用程序对这个数字进行计算,可以采用 eval(input(<输入提示字符串>)) 组合;定义为:eval(source, globals=None, locals=None, /);作用是将输入的字符串转为 Python 语句,并执行该语句
- Python 语言的特点:跨平台、多模型、脚本、解释型语言
- Python 的数字类型:整数类型提供了 4 种进制(十进制、二进制、八进制和十六进制);数字类型: int、float、complex;
- Python的遍历结构:字符串、文件、组合数据类型和range()函数等;
- Break:跳出最内层for或者while循环,从循环代码后继续执行;
- Python中的变量:
- 局部变量:是函数内部的占位符,与全局变量可能重名但不同;局部变量为组合数据类型且未创建,等同于全局变量;仅在函数内部创建和使用,函数退出后变量被释放;
- 全局变量指在函数之外定义的变量,一般没有缩进,在程序执行全过程有效;
- global保留字:声明简单数据类型变量后,该变量作为全局变量使用;
- 数据组织的维度:
- 一维数据采用线性方式组织,对应于数学中的数组和集合等概念;
- 二维数据采用表格方式组织,对应于数学中的矩阵
- 高维数据由键值对类型的数据构成,采用对象方式组织;
- 软件设计原则:信息隐蔽、模块化、抽象
- 软件危机:软件开发生产率低、软件成本不断提高、软件质量难以控制
- 软件测试:发现程序中的错误
- 软件调试:关键在于推断程序内部的错误位置及原因;分为静态调试和动态调试
- 软件调试主要方法:强行排错法、回溯法、原因排除法
- 软件工程的3个要素:工具、过程、方法
- 软件工程:应用于计算机软件的定义、开发和维护的一整套方案、工具、文档和实践标准和工序
- 软件工程详细设计阶段工具:程序流程图、判断表、PDL
- 软件工程详细设计阶段任务:定义、开发、运行维护
- 软件生命周期开发阶段任务:概要设计、软件测试、详细设计
- 软件需求分析阶段主要工作:需求分析、需求获取、需求评审,确定软件系统功能
- 软件需求分析阶段任务: 需求规格说明书评审、确定软件系统的性能需求、确定软件系统的功能需求;
- 软件需求分析阶段产生的主要文档:软件需求规格说明书
- 软件测试步骤:集成测试、确认测试、单元测试
- 数据库系统的核心:数据库管理系统
- 数据库应用系统的核心:数据库设计
- 数据库设计基本任务:根据用户对象的信息需求、处理需求和数据库的支持环境设计出数据模式
- 数据库语言:DML是数据操纵语言、DCL是数据控制语言、DDL是数据定义语言
- 数据模型描述内容:数据结构、数据操作、数据约束
- 关系数据库中,二维表表示实体之间的联系
- 文件系统与数据库系统的主要区别:数据库系统具有特定的数据模型,文件系统有数据关联差、数据不一致性和 冗余等缺陷
- 概念设计阶段:用E-R图来描述信息结构但不涉及信息
- 逻辑设计阶段:将E-R图(实体联系的图是菱形)转换为关系数据模型的过程
- 二叉树:子树是二叉树的分支;度是分支的数目;没有分叉的二叉树节点的度就是0度;如果一个节点只有一个分叉就是1度;两个分叉就是2度的子树
- 二叉树的遍历是指不重复地访问二叉树中的所有结点;后序遍历二叉树的过程是一个递归的过程;二叉树的遍历可以分为三种:前序遍历、中序遍历、后序遍历
- 二叉树具有两个特点:
- 非空二叉树只有一个根结点,每一个结点最多有两棵子树,且分别称为该结点的左子树与右子树;
- 二叉树是一种非线性结构;在任意一棵二叉树中,度为0的结点(叶子结点)比度为2的结点多一个
- CSV文件:每一行是一维数据,可以使用Python中的列表类型表示;整个CSV文件是一个二维数据;
- 冒泡排序法:是通过相邻数据元素的交换逐步将线性表变成有序,快速排序法比冒泡排序法的速度快
- 线性表作快速排序/选择排序法在最坏的情况下需要比较n(n–1)/2次
- 改变参数值的方法:参数是组合类型(可变对象)、list类型时,改变原参数的值;参数是int类型时,不改变原参数的值
- random.uniform(a,b)的作用描述:生成一个[a,b]之间的随机小数
- 在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送消息
- 字典类型:可以包含列表和其他数据类型,支持嵌套的字典;是一种无序的对象集合,通过键来存取;可以在原来的变量上增加或缩短
- 读文件内容的三种方式:
- read() 函数:读入文本文件的全部内容后,返回一个字符串;
- readline() 函数:读入文本文件的一行,返回一个字符串;
- readlines() 函数:读入文件内容后返回一个列表,元素划分依据是文本文件中的换行符