- 博客(32)
- 资源 (1)
- 收藏
- 关注
原创 Mysql 学生信息经典50题
Mysql 学生信息经典50题练习数据数据表--1.学生表Student(SId,Sname,Sage,Ssex) --SId 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别--2.课程表 Course(CId,Cname,TId) --CId --课程编号,Cname 课程名称,TId 教师编号--3.教师表 Teacher(TId,Tname) --TId 教师编号,Tname 教师姓名--4.成绩表 SC(SId,CId,score) --S
2020-06-05 01:35:02
9283
1
原创 软件测试的艺术 读书笔记完整版
第 1 章 一次自评价测试定义:所谓软件测试,就是一个过程或一系列过程,用来确认计算机代码完成了其应该完成的功能,不执行其不该有的操作。一个三角形类别判定程序的测试用例的评判(评判测试用例的设计水平):程序功能描述:程序从用户获取 3 个整数输入值,分别代表三角形三条边的长度。程序判断该三角形为不规则三角形、等腰三角形或等边三角形。对测试用例的评判:是否有测试用例是一个有效的不规则三角形?是否有测试用例是一个有效的等腰三角形?是否有测试用例是一个有效的等边三角形?是否至少有 3 个测试用例
2020-06-04 05:31:06
892
原创 剑指offer题集分类 Python实现详解
剑指offer题集分类归纳一: 链表(5道)面试题18:删除链表的节点简单给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。返回删除后的链表的头节点。注意:此题对比原题有改动示例 1:输入: head = [4,5,1,9], val = 5输出: [4,1,9]解释: 给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9.尾节点法:#Definition for singly-linked list.#c
2020-05-29 16:18:44
659
原创 python算法与数据结构:08排序算法
稳定性定义:相同的值在排序结束之后的相对次序不变。1. 冒泡排序每一轮相邻两个值之间比较,大小顺序相反的交换位置,最后的值总是最大。稳定性:稳定def BubbleSort(alist): """冒泡排序 """ #最坏时间复杂度= O(n^2) #用count控制如某一层从头到尾的比较中没有做任何交换,说明顺序已经正确,不用继续比,可使最优复杂度变为 O(n) n = len(alist) for i in range(n-1) # 外层控制一共走多少次.
2020-05-27 21:00:18
244
原创 python算法与数据结构:03字符串
二. 字符串字符串匹配算法:字符串匹配:字符串匹配。给你两个字符串,寻找其中一个字符串是否包含另一个字符串,如果包含,返回包含的起始位置。如下面两个字符串:char *str = "bacbababadababacambabacaddababacasdsd";char *ptr = "ababaca";str有两处包含ptr分别在str的下标10,26处包含ptr。1.朴素算法:一般匹配字符串时,我们从目标字符串str(假设长度为n)的第一个下标选取和ptr长度(长度为m)一样的子字
2020-05-27 20:53:28
253
原创 python算法与数据结构:07查找
六. 查找在这里插入图片描述二分查找:1.递归版本def BinarySearch1(alist,item): # 二分查找前提:有序数组 #二分查找递归版本 时间复杂度:O(logN) n = len(alist) if 0 == n: return False mid = n // 2 if alist[mid] == item: return True elif alist[mid] < item:
2020-05-27 20:44:56
229
原创 SQL基础学习笔记15变量,存储过程和函数
变量,存储过程和函数变量/*系统变量:全局变量会话变量自定义变量:用户变量局部变量*/一、系统变量说明:变量由系统定义,不是用户定义,属于服务器层面注意:全局变量需要添加global关键字,会话变量需要添加session关键字,如果不写,默认会话级别使用步骤:1、查看所有系统变量show global|【session】 variables;2、查看满足条件的部分系统变量show global|【session】 variables like '%char%';3、查看指
2020-05-27 15:02:43
325
原创 SQL基础学习笔记14视图
视图内容源自尚硅谷SQL学习视频,将笔记重点按内容归纳整理/*含义:虚拟表,和普通表一样使用mysql5.1版本出现的新特性,是通过表动态生成的数据比如:舞蹈班和普通班级的对比 创建语法的关键字 是否实际占用物理空间 使用视图 create view 只是保存了sql逻辑 增删改查,只是一般不能增删改表 create table 保存了数据 增删改查*/#案例:查询姓张的学生名和专业名SELECT stuname,majornameFROM stuin
2020-05-27 15:01:49
189
原创 SQL基础学习笔记13TCL:Transaction Control Language 事务控制语言
TCL:Transaction Control Language 事务控制语言内容源自尚硅谷SQL学习视频,将笔记重点按内容归纳整理事务定义:一个或一组sql语句组成一个执行单元,这个执行单元要么全部执行,要么全部不执行。案例:转账张三丰 1000郭襄 1000update 表 set 张三丰的余额=500 where name=‘张三丰’意外update 表 set 郭襄的余额=1500 where name=‘郭襄’事务的特性:ACID原子性:一个事务不可再分割,要么都执行要么
2020-05-27 15:00:43
156
原创 SQL基础学习笔记12数据类型,约束和自增长
数据类型,约束和自增长常见的数据类型数值型:整型小数:定点数浮点数字符型:较短的文本:char、varchar较长的文本:text、blob(较长的二进制数据)日期型:一、整型/*分类:tinyint、smallint、mediumint、int/integer、bigint1 2 3 4 8特点:① 如果不设置无符号还是有符号,默认是有符号,如果想设置无符号,需要添加unsigned关键字② 如果插入的数值超出了整型的范围,会报out of range异常,并且
2020-05-27 14:58:54
397
原创 SQL基础学习笔记11DDL语言:库和表的管理
DDL语言:库和表的管理内容源自尚硅谷SQL学习视频,将笔记重点按内容归纳整理/*DDL数据定义语言库和表的管理一、库的管理创建、修改、删除二、表的管理创建、修改、删除(与DML不同,此处是表不是数据的增删改)★创建: create修改: alter rename删除: drop*/一、库的管理1、库的创建/*语法:create database [if not exists]库名;*/案例:创建库BooksCREATE DATABASE IF NOT EXISTS
2020-05-27 14:57:43
192
原创 SQL基础学习笔记10DML语言:数据的增删改
DML语言:数据的增删改#DML语言 数据操作语言:插入:insert修改:update删除:delete一、插入语句方式一:经典的插入/*语法:insert into 表名(列名,…) values(值1,…);*/#1.插入的值的类型要与列的类型一致或兼容INSERT INTO beauty(id,NAME,sex,borndate,phone,photo,boyfriend_id)VALUES(13,'唐艺昕','女','1990-4-23','1898888888',NU
2020-05-27 14:56:13
308
原创 SQL基础学习笔记09联合查询
内容源自尚硅谷SQL学习视频,将笔记重点按内容归纳整理联合查询/*union 联合 合并:将多条查询语句的结果合并成一个结果语法:查询语句1union查询语句2union…应用场景:要查询的结果来自于多个表,且多个表没有直接的连接关系,但查询的信息一致时特点:★1、要求多条查询语句的查询列数是一致的!2、要求多条查询语句的查询的每一列的类型和顺序最好一致3、union关键字默认去重,如果使用union all 可以包含重复项*/#引入的案例:查询部门编号>90或邮箱包
2020-05-27 14:55:04
92
原创 SQL基础学习笔记08分页查询
内容源自尚硅谷SQL学习视频,将笔记重点按内容归纳整理分页查询 ★应用场景:当要显示的数据,一页显示不全,需要分页提交sql请求语法:select 查询列表from 表【join type join 表2on 连接条件where 筛选条件group by 分组字段having 分组后的筛选order by 排序的字段】limit 【offset】size;offset:要显示条目的起始索引(起始索引从0开始)size: 要显示的条目个数特点:①limit语句放在查询语句的最
2020-05-27 14:53:50
103
原创 SQL基础学习笔记07子查询
内容源自尚硅谷SQL学习视频,将笔记重点按内容归纳整理子查询含义:出现在其他语句中的select语句,称为子查询或内查询外部的查询语句,称为主查询或外查询分类:按子查询出现的位置: select后面: 仅仅支持标量子查询from后面: 支持表子查询where或having后面:★ 标量子查询(单行) √ 列子查询 (多行) √ 行子查询 exists后面(相关子查询) 表子查询 按结果集的行列数不同:标量子查询(结果集只有一行一列)列子查询(结果集只有一列多
2020-05-27 14:52:32
154
原创 SQL基础学习笔记06连接查询
内容源自尚硅谷SQL学习视频,将笔记重点按内容归纳整理连接查询概要:含义:又称多表查询,当查询的字段来自于多个表时,就会用到连接查询笛卡尔乘积现象:表1 有m行,表2有n行,结果=m*n行发生原因:没有有效的连接条件如何避免:添加有效的连接条件分类:按年代分类:sql92标准:仅仅支持内连接sql99标准【推荐】:支持内连接+外连接(左外和右外)+交叉连接按功能分类:内连接:等值连接非等值连接自连接外连接:左外连接右外连接全外连接交叉连接SELECT * FROM
2020-05-27 14:51:14
221
原创 SQL基础学习笔记05分组查询
内容源自尚硅谷SQL学习视频,将笔记重点按内容归纳整理分组查询整体介绍:语法:select 查询列表from 表【where 筛选条件】group by 分组的字段【order by 排序的字段】;特点:1、和分组函数一同查询的字段必须是group by后出现的字段2、筛选分为两类:分组前筛选和分组后筛选 针对的表 位置 连接的关键字分组前筛选 原始表 group by前 where 分组后筛选 grou
2020-05-27 14:49:38
134
原创 SQL基础学习笔记04聚合函数
内容源自尚硅谷SQL学习视频,将笔记重点按内容归纳整理聚合函数概念:概念:类似于java的方法,将一组逻辑语句封装在方法体中,对外暴露方法名好处:1、隐藏了实现细节 2、提高代码的重用性调用:select 函数名(实参列表) 【from 表】;特点: ①叫什么(函数名) ②干什么(函数功能)分类: 1、单行函数 如 concat、length、ifnull等 2、分组函数 功能:做统计使用,又称为统计函数、聚合函数、组函数 一. 单行函数字符函数数学函数日期函
2020-05-27 14:48:13
266
原创 SQL基础学习笔记03排序查询
内容源自尚硅谷SQL学习视频,将笔记重点按内容归纳整理排序查询语法:select 查询列表from 表名【where 筛选条件】order by 排序列表执行顺序:重点①from子句②where子句③select子句④order by 子句特点:1、asc代表的是升序,可以省略desc代表的是降序2、order by子句可以支持 单个字段、别名、表达式、函数、多个字段3、order by子句在查询语句的最后面,除了limit子句一. 按单个字段排序#案例1:将员
2020-05-27 14:46:57
155
原创 SQL基础学习笔记02条件查询
内容源自尚硅谷SQL学习视频,将笔记重点按内容归纳整理条件查询语法:select 查询列表from 表名where 筛选条件;执行顺序:①from子句②where子句③select子句特点:1、按关系表达式筛选关系运算符:> < >= <= = <>(不等于) 补充:也可以使用!=,但不建议 2、按逻辑表达式筛选逻辑运算符:and or not
2020-05-27 14:45:15
209
原创 SQL基础学习笔记01基础查询
内容源自尚硅谷SQL学习视频,将笔记重点按内容归纳整理进阶一:基础查询语法:select 查询列表 from 表名;特点:1、查询的结果集 是一个虚拟表2、select 查询列表 类似于System.out.println(打印内容);select后面跟的查询列表,可以有多个部分组成,中间用逗号隔开 例如:select 字段1,字段2,表达式 from 表;System.out.println()的打印内容,只能有一个。3、执行顺序① from子句 ② select子句4、查询列表可
2020-05-27 14:42:20
205
原创 python算法与数据结构:06图
图及相关概念我们前面讲过了树这种非线性表数据结构,今天我们要讲另一种非线性表数据结构,图(Graph)。和树比起来,这是一种更加复杂的非线性表结构。我们知道,树中的元素我们称为节点,图中的元素我们就叫作顶点(vertex)。从我画的图中可以看出来,图中的一个顶点可以与任意其他顶点建立连接关系。我们把这种建立的关系叫作边(edge)。叫作顶点的度(degree),就是跟顶点相连接的边的条数。在图中画一条从A到B的带箭头的边,来表示边的方向。我们把这种边有方向的图叫作“有向图”。以此类推,我们把边没有方
2020-05-26 20:26:27
645
原创 python算法与数据结构:05树
树(英语:tree)是一种抽象数据类型(ADT)或是实作这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合。它是由n(n>=1)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:每个节点有零个或多个子节点;没有父节点的节点称为根节点;每一个非根节点有且只有一个父节点;除了根节点外,每个子节点可以分为多个不相交的子树;树的术语节点的度:一个节点含有的子树的个数称为该节点的度;.
2020-05-26 18:44:20
250
原创 python算法与数据结构:04栈和队列
三:栈和队列一:栈:先进后出1.栈的应用: 算法中的辅助存储结构,临时保存信息供后面操作中使用。函数调用 颠倒数组的元素顺序。 括号匹配问题 递归 表达式求值 3+5*4-9 (两个栈 一个存符号一个存数字) 2.栈的python实现class Stack(object): def __init__(self): self.__list = [] def push(self,item): ...
2020-05-26 14:46:16
233
原创 SQL基础学习笔记00数据库介绍
内容源自尚硅谷SQL学习视频,将笔记重点按内容归纳整理一、为什么要学习数据库1.持久数据源2.方便查询3.存储大量数据4.共享、安全5.通过组合分析,获取新的数据二、数据库的相关概念DBMS、DB、SQLDB: Database 数据库,存储一系列有组织有数据的容器DBMS: Database management system 数据库管理系统,使用DBMS管理和维护DBSQL:StructureQueryLanguage 结构化查询语言,用于与DBMS通信.
2020-05-25 23:24:35
196
原创 python算法与数据结构:02线性表
一. 线性表线性表定义:线性表就是数据排成像一条线一样的结构.每个现行表上的数据最多只有前和后两个方向.常见的线性表结构:数组,链表、队列、栈等数组(Array):是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。连续的内存空间和相同类型的数据(随机访问的前提)数组怎么根据下标随机访问的:通过寻址公式:a[i]_address = base_address + i * data_type_size优点:两限制使得具有随机访问的特性缺点:删除.
2020-05-25 05:07:57
381
原创 python算法与数据结构:01时间复杂度
算法:是独立存在的一种解决问题的方法和思想时间复杂度:依赖于问题的规模和待输入数据的性质。是问题规模n的函数。空间复杂度:算法所消耗的存储空间。是问题规模n的函数。时间复杂度的几条基本计算规则: 基本操作,即只有常数项,认为其时间复杂度为O(1) 顺序结构,时间复杂度按加法进行计算 循环结构,时间复杂度按乘法进行计算 分支结构,时间复杂度取最大值 判断一个算法的效率时,往往只需要关注操作数量的最高次项,其它次要项和常数项可以忽略
2020-05-25 04:57:38
276
原创 剑指offer-重建二叉树-python版本
面试题07. 重建二叉树难度中等输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如,给出前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ 15 7分析:先找出前序遍历的第一个为root。然后查找该值在中序遍历中的位置设为index对于中序遍历的...
2020-05-23 22:52:31
135
原创 Google软件测试之道 第三章测试工程师的工作
本章主要围绕两个方面介绍测试工程师:角色和工作一:角色测试是一种面向用户的角色。上一章提到测开负责可测试性和测试自动化体系的长期有效性。测试的职责与之不同,测试的重点在于评估对用户的影响及软件整体目标上的风险。有的测试需要编写大量的代码,有的只需要编写少量的代码。可能需要做测开的工作,代码审查的工作,测试工具相关,哪儿缺人就往上补。二:工作早期的测试计划需要较少的测试,在产品接近尾声、寻找Bug变得更加紧急的时候,需要更多的资源投入到测试中。从策略上讲,给一个项目配备多少..
2020-05-23 04:20:30
317
原创 Google软件测试之道 第二章测开工程师的工作
本章围绕测开工程师介绍了多个方面:测开的职责,团队结构,开发测试流程,测试计划,测试执行,测试认证,测开的招聘标准等1.测开的职责 SET的部分职责是在单元测试方面给予开发人员支持,另外一部分是未开发人员提供测试框架,以便他们编写中小型测试,用以更多质量相关的测试工作。SET是100%的编码角色,它使测试人员尽早介入到开发流程中,不是通过测试计划的方式,而是参与设计和代码开发的方式。SET积极参与各种测试,使测试富有效率,包括手动和探索式测试,而这些测试后期会有其他工程师负责。 ...
2020-05-21 05:14:17
327
原创 栈的应用:背包问题的递归解法
算法与数据结构的python语言描述这本书在介绍栈的一章,讲到任何一个递归函数都可以引入一个栈保存中间结果来改为非递归函数。从而讲到简单的背包问题的递归实现。任何具有递归性质的问题通过函数递归调用会变得很简单。一个很复杂的问题,几行代码就能搞定。背包问题:问题描述:一个背包里放入重量为weight的物品,现有n件物品的集合S,其中物品的重量为 w0,w1,...w(n-1)。问题是能否选出若干件物品,其重量之和正好等于weight。递归树分析:递归树每次分为两种情况,一...
2020-05-14 22:02:02
1050
1
原创 Google软件测试之道 第一章Google软件测试介绍
本章主要介绍了五个方面:1.Google对测试的认知定位2.软件开发,测开和测试工程师三者的定位,联系与区别3.Google的测试团队在公司中的角色和责任4. Google产品迭代过程中经历的几大版本 5. Google对测试类型的划分方式一:Google对测试的认知定位测试很难被定义,但至少测试不能成为导致创新和开发过程变慢的阻碍。Google的测试团队小而精,...
2020-05-07 02:27:11
591
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人