- 博客(45)
- 收藏
- 关注
转载 数据库基本概念
SQL Server 所提供的( Master)系统数据库记录了SQL Server系统的所有系统信息SQL Server 中4个系统数据库,Master、Model、Msdb、Tempdb数据库 实体间的3种关系数据库实体联系模型与关系模型添加链接描述数据是信息的符号表示或称载体;信息则是数据的内涵,是数据的语义解释。数据库系统的三级模式结构是指由数据库系统的模式、外模式和内模式三级构成的。模式也称逻辑模式或概念模式1.1 数据库基本概念数据(data)数据是数据库中存储的基本对象数据项:
2021-09-15 17:40:53
853
原创 7 C++多态
目录标题1. 虚函数2. 多态2.1 多态的表现形式12.2 多态的表现形式22. 多态的例子3. 更多地多态例子1. 虚函数1)成员函数前面加virtual关键字,函数就是虚函数。2)virtual关键字只用在类定义的函数声明里面,写函数体时不用。3)构造函数和静态函数不能是虚函数。虚函数能参与多态。4)虚函数与普通函数的区别:虚函数可以参与多态,普通的成员函数不能。2. 多态2.1 多态的表现形式11)派生类的指针可以赋值给基类指针。base * pb = & d;2)通过基
2021-09-11 22:34:48
237
原创 6 C++继承和派生
1. 继承在定义B类时,如果该类与已有的A类相似,那么A是基类,B是基类的派生类(也叫子类)。派生类拥有基类的全部成员和成员变量,不论是private,protected,public。在派生类的成员函数中,不能访问基类中的private成员。派生类的写法:class 派生类: public 基类名{};2. 类之间的关系3. 基类/派生类同名成员基类和派生类有相同名字的成员变量和成员函数。4. 派生类的构造函数派生类对象包含基类对象,执行派生类构造函数之
2021-09-11 21:02:18
404
原创 4 C++引用
1. 引用定义:类型名 & 引用名b = 变量名a,相当于给变量名a起了个别名b。引用的性质:1)定义引用时,一定要初始化,且初始化成某个变量;2)引用从一而终,不会改变;3)只能引用变量,不能引用常量和表达式。1.1 引用的示例,说明引用的好处在C++里面使用引用,编写的函数简洁。1.2 常引用常引用:前面加关键字const,不能修改常引用引用的内容。1.3 常引用和非常引用的转换const T &和T &是不同类型。T &类型的引用或T类型的变
2021-09-03 23:25:25
422
原创 3 C++函数模板和类模板
1. 函数模板泛型程序设计:算法实现时不指定具体要操作的数据的类型。template <class 类型参数1, class 类型参数2,...>返回值类型 模板名(形参表){ 函数体;}1.1 函数模板的例子:T类型的参数1.2 函数模板可以重载2. 类模板C++的类模板的定义template<类型参数表>class 类模板名{ 成员函数和成员变量};类型参数表的写法就是class 类型参数1, class 类型参数2, ...,也可以包括
2021-09-03 21:19:28
118
原创 2 C++ 树
目录1. 二叉树(binary tree)2. 深度优先搜索2.1 递归遍历二叉树2.2 非递归前序遍历二叉树2.3 非递归中序遍历二叉树2.4 非递归后序遍历二叉树3. 宽度优先遍历二叉树1. 二叉树(binary tree)数组+链表=树数组:易于查找,不易插入删除。链表:易于插入删除,不易直接查找。二叉树是节点度数不超过2的树。如果每个节点都是2,则是满二叉树。用二叉树表示任何一颗树。完全二叉树:最多只有最小面的两层节点度数小于2,最小一层的结点都集中在最左边。BinNode模板类2.
2021-09-02 23:02:40
150
原创 1 C++标准模板库STL
文章目录1. STL的定义和基本概念2. 容器概述2.1 顺序容器2.1.1 `vector`2.1.2 `deque`2.1.3 `list`2.2 关联容器2.2.1 `set/multiset`2.2.2 `map/multimap`2.3 容器适配器3. 成员函数3.1 顺序容器和关联容器都有的成员函数3.2 顺序容器的常用成员函数4. 迭代器4.1 定义迭代器4.2 迭代器示例4.3 不同容器的迭代器不一样5. 算法简介1. STL的定义和基本概念标准模板库(standard template
2021-08-14 14:29:56
132
原创 枚举算法ccc
枚举思想:(1)对问题可能解集合的每一项(2)根据问题给定的检验条件判定哪些时成立的(3)使条件成立的即是问题的解问题(1)给出解空间,建立简洁的数学模型(2)减少搜索空间(3)采用合适的搜索顺序输入:第一行两个整数R,C,表示水稻的行数R(R>=1),列数C(c<=5000);第二行整数N,表示被踩的水稻数3<=N<=5000剩下的N行,每行俩整数,代表被踩的行号和列号输出:输出一个整数,表示包含最多被踩水稻的个数。样例:6 7#6行7列14 #被踩
2021-07-03 12:19:30
92
原创 10 C++定义类
10 面向对象类的定义class 类名{ 访问范围说明符: 成员变量1 成员变量2 ... 成员函数声明1 成员函数声明2 访问范围说明符: 更多成员变量 更多成员函数声明 ...};//注意";"class CRectangle{ public: int w, h; void Init(int w_, int h_) { w = w_; h = h_; } int Area() { return w * h; } int Peri
2021-06-24 22:24:25
574
原创 9 C++链表
9 链表用指针把结构体链起来。一种非常常用的数据结构(1)链表头:指向第一个链表结点的指针;(2)链表节点:链表中的每一个元素,包括当前节点的数据,下一个节点的地址(3)链表尾:不在指向其他结点的结点,其地址部分放一个NULL,表示链表到此结束。9.2 链表可以动态地创建动态地申请内存空间。使用运算符new,开辟一块存储空间并返回这块空间的地址。delete释放掉一个指针指向的内存空间。int *pint = new int(1024);//申请int型的空间,空间的初始值为1024,也
2021-06-16 23:00:15
436
3
原创 8 C语言结构体
8 结构体8.1 什么是结构体用一组变量描述同一个事物。构造一个新的数据类型——结构体。属于组合数据类型,一组变量捆绑在一起,形成结构体。8.2 定义结构体变量(1)直接用已声明的结构体类型定义变量名student student1 student2,结构体类型名 结构体变量名(2)在声明类型的同时定义变量struct student{ int id; char name[20]; char sex; int age; float score; char addr[30];}xi
2021-06-16 22:41:28
90
原创 7 C++指针
7 指针7.1 什么是指针指针是地址。用&提取地址,用*&c访问变量c。7.2 什么是指针变量设置一个变量,存放变量的地址(变量的指针)。专门存放指针的变量叫做指针变量。定义指针变量int c = 76;int *pointer;//定义名字为pointer的指针变量;pointer = &c;//将变量c的地址赋值给指针变量pointer;//赋值后,称指针变量pointer指向了变量c;运算符的优先级:后置++ --的>前置++ --,逻辑非,&
2021-06-08 22:04:13
130
原创 6 C++函数
6 函数6.1 函数的定义求平方根函数r = squrt(100.0);已知底数x,幂指数y,求幂函数k = pow(x, y);求一个字符串的长度i = strlen(str1);比较两个字符串的大小v = strcmp(str1, str2);把字符串转换为相应的整数n = atoi(str1);函数是C程序的基本构成单位一个C程序由一个或者多个源程序文件组成。一个源程序文件可以由一个或多个函数组成。全局变量 vs 局部变量当全局变量与局部变量同名时,局部变量将在自己作用与内有效,
2021-06-06 21:08:56
195
原创 5 C++数组
一维数组的定义数据类型 数组名[常量]数据初始化需要初始化,不初始化系统会给定一个值。二维数据的定义数据类型 数据名[常量][常量]
2021-06-02 22:40:32
452
原创 4 C++程序流程控制
4 程序流程结构顺序结构:代码一行一行运行选择结构:依据条件是否满足,有选择的执行代码。循环结构:依据条件是否满足,循环多次执行代码。4.1 选择语句4.1.1 if语句单行格式的if语句:条件为真执行语句,条件为假就结束。注意:if(条件)后面不能加;,加了;后if(条件)就和后面的执行语句{ 条件满足执行的语句 }分离了。if (条件){ 条件满足执行的语句;}多行格式的if语句:if (条件){ 条件满足执行的语句;}else{ 条件不满足执行的语句;}多条
2021-05-28 22:42:49
133
原创 3 C++运算符
3. 运算符3.1 算术运算符/:除,两个整数相除结果还是整数10 / 3 = 3,10 / 0会出现错误;两个小数相除的结果可以是小数。%:取模(取余)10 % 3 = 1,10 % 0会出现错误;两个小数不能取模,3.14 % 1.1会出现错误。++:加一,前置递增:先写++再写a;后置递增:先写a再写++;区别:前置递增是先让变量加1,在进行表达式运算。后置递增是先进行表达式运算,再加1。3.2 赋值运算符给变量重新赋一个值。=:赋值+=:加等于,a += 2;本质是a = a + 2
2021-05-28 22:01:48
127
原创 2 C++数据类型
2.数据类型作用:给变量预留合适的内存空间。2.1 整型short短整型,2字节,取值范围(-32768 - 32767);int整型,4字节,最常用;long长整型,window系统4字节;long long长长整型,8字节。2.2 sizeof关键字作用:查询数据类型占的内存空间两种用法:sizeof(数据类型),sizeof(变量)。2.3 实型(浮点型)作用:表示小数两种:单精度float;双精度double区别:有效数个数不一样;用法:float pi = 3.14f;
2021-05-27 21:45:01
219
原创 1 C++ 初识
helloworld#include <iostream>using namespace std;int main(){ // count: 输出对象 cout << "hello world" << endl; system("pause"); return 0;}数据类型:数值型:整型int,短整型short int,长整型long int,单精度浮点型float,双精度浮点型double非数值型:string...
2021-04-21 21:28:50
91
原创 Java的封装与隐藏
面向对象的特征封装与隐藏当创建一个类的对象后,可以通过对象.属性的方式,对对象的属性赋值。这里,赋值操作要受到属性的数据类型和存储范围的制约。除此之外,没有其他限制条件。但是,在实际问题中,我们往往需要给属性赋值加入额外的限制条件。这个条件就不能在属性声明时体现,我们只能通过方法进行限制条件的添加。同时,我们要避免用户再使用对象.属性的方式对属性进行赋值。则需要将属性声明为私有的private。此时,针对于属性就是封装性。封装性的体现:我们将类的属性私有化private,同时提供公共public的
2021-04-04 18:08:14
106
原创 Java的类和方法
属性(成员变量)vs 局部变量相同点:定义变量格式一样:数据类型 变量名 = 变量值;。先声明后使用。都有其对应作用域。不同点:1)在类中声明的位置不同。属性:直接定义在类的一对{}局部变量:声明在方法内、方法形参、构造器形参、构造器内部的变量2)关于权限修饰符的不同。属性:可以在声明属性时,指明其权限,使用权限修饰符。常用的权限修饰符:private,public,缺省,protected。目前,声明属性都是用缺省。局部变量:不能使用权限修饰符。3)默认初始化值不同。属性:都有默认初
2021-03-27 20:03:26
250
原创 Python连接MySQL数据库
Python连接MySQL数据库# 1、连接数据库# 1.1导入库pymysqlimport pymysql# 1.2.连接数据库,用try - except 捕获异常DBHOST = 'localhost'DBUSER = 'root'DBPASS = 'root'DBNAME = 'dbtest'try: db = pymysql.connect(DBHOST, DBUSER, DBPASS, DBNAME) print('数据库连接成功') # 2、创建一张
2021-03-23 14:39:59
132
原创 数组
一维数组一维数组的声明和初始化1)声明:int array[];或者int[] array;。2)初始化:静态初始化:array = new int[]{1001,1002,1003};,动态初始化String[] array = new String[5];。3)也是正确写法:int[] array = {1001,1002,1003};。一维数组的练习题1package com.atguigu.contact;import java.util.Scanner;class Hell
2021-03-22 19:33:38
146
原创 Java的数据类型和运算符
变量的使用:Java定义变量的格式:数据类型 变量名 = 变量值;。必须要先声明,后使用。变量都定义在其作用域,在作用域内使用。数据类型:8种数据类型。byte、short、int、long、float、double、char、布尔基本数据类型之间的运算规则:自动类型提升:当容量小的数据类型的变量与容量大的数据类型的变量做运算时,结果自动提升为容量大的数据类型。byte、char、short、 --> int --> long --> float -->do
2021-03-18 22:25:39
109
原创 用文本文档编写Hello, World! 程序Java
用文本文档编写Hello, World! 程序步骤:在D盘新建文件夹code,在code中新建文件夹day01,在day01文件夹新建文本文档HelloWorld.txt;将HelloWorld.txt的后缀.txt改成.java;HelloWorld.java里面输入以下代码。class HelloChina{ public static void main(String[] args){ System.out.println("Hello, World!"); }}写完之后去
2021-03-17 16:00:23
2943
2
原创 66.加一python语言
题目代码class Solution: def plusOne(self, digits): for i in reversed(range(len(digits))): if digits[i] == 9: digits[i] = 0 else: digits[i] += 1 return digits digits[
2021-03-15 19:54:55
85
原创 58.最后一个单词的长度python语言
题目考察:字符串代码思路:先定义count作为函数的输出;再定义一个local_count用于s = 'a '的情况(最后一位是空格,需重新开始计数,但题目要求返回值为1,所以需要把1这个值也存起来)class Solution: def length0fLastWord(self, s): local_count, count = 0, 0 for i in range(len(s)): if s[i] != ' ':
2021-03-15 16:49:17
66
原创 维基百科网络爬虫案例研究
维基百科网络爬虫案例研究一、HTML源代码的构成HTML源代码由嵌套标签组成。第一个标签是标题标签,<title>和结束标签</title>之间的文本是页面标题。下一个标签是<div id="introduction">,以</div>作为结束标签。p是段落的缩写,<p>和结束标签</p>之间的文本是显示在文本上的内容。p是div标签的子类,div是p段落的父类。该html文档中,第二个div较为复杂。它有一个子类的段落标
2021-03-13 22:04:09
211
原创 蒙特卡洛的例子
蒙特卡洛的例子#1.图片读进来from PIL import Imageimport randomimg=Image.open('热气球.jpg')#2.获取像素点的颜色count=100000in_count=0for i in range(count): x=random.randint(0,img.width-1) y=random.randint(0,img.height-1) if img.getpixel((x,y))==(255,255,255):
2021-03-10 14:38:41
144
原创 leetcode 9.回文数python语言
题目代码思路:依次取出x最右边的数,存放在num里。比较x和num的大小class Solution: def isPalidrome(self, x): if x < 0: return False a = x num = 0 while a != 0: temp = a % 10 num = num * 10 + temp
2021-03-09 21:47:40
162
原创 leetcode 53.最大子序列和python语言
题目代码class Solution: def maxSubArray(self, nums): if max(nums) < 0: return max(nums) local_max, global_max = 0, 0 # 定义两个变量 # 一直会改变的最大值local_max,比如,在每一次+num时,该值在不断变化 # 对于全局来说的最大值global_max
2021-03-09 21:22:15
120
原创 leetcode 38.外观数列python语言
思路:对于一个n。通过for循环,一层一层的看最后的输出,对上层seq进行读取,得到下一层的seq结果。用seq存储每一层的数据。用getNext()函数获取下一次的序列seq。最后返回seq。getNext()函数的编写思路:先定义,input是seq。需要for loop(while loop)读取seq的每一个数字,查找每个数字的个数,count=1。还需要一个for loop(while loop):当i位和i+1位一样的时候,count+1(当不一样的时候,count重新变为1,从1开...
2021-03-09 17:06:45
120
1
原创 leetcode 35.搜索插入位置
题目代码1class Solution: def searchInsert(self,nums,target): for i in range(len(nums)): if nums[i] >= target: return i return i+1sol = Solution()result = sol.searchInsert([1,3,5,6],5)print(result)代码
2021-03-09 14:28:54
83
原创 leetcode 28.实现strStr()python语言
题目代码class Solution: def strStr(self, heystack, needle): # 解题思路: # 遍历heystack这个字符串,看有没有needle这个值(每两个一对比) # 如果有,返回index # 如果没有,返回 -1 for i in range(len(heystack) - len(needle) + 1): # 注意:i不能到最后一位,le
2021-03-09 10:58:20
88
原创 python的数据类型和运算符
数据类型整型、浮点型、布尔型list(列表):有order,有mutablitystrings(字符):有order,无mutablitytuples(元组):有order,无mutablitysets(集合):无order,有mutablitydict(字典):无order,有mutablity运算符算数+加、-减、*乘,/除、%取余、**取幂、//相处后向下取整到最接近的整数赋值x = 3y = 4z = 5x, y, z = 3, 4, 5比较逻辑成员恒等运算符
2021-03-08 22:34:10
111
1
原创 leetcode 27.移除元素python语言
题目代码1class Solution(): def removeElement(self, nums, val): count = -1 for i in range(len(nums)): if nums[i] != val: count += 1 nums[count] = nums[i] return count + 1if __name__
2021-03-08 17:37:19
97
原创 leetcode 26.删除排序数组中的重复项python语言
题目代码class Solution(): def removeDuplicates(self, nums): if not nums: return 0 # 如果nums里面没有数,直接返回0 # for循环目的:数一数nums数组里有几个不同的数 count = 0 # count计数用。有不同的数,count加一 for i in range(len(nums)):
2021-03-07 22:36:24
71
原创 leetcode 21.合并两个有序链表
题目代码class ListNode(): def __init__(self, x): self.val = x self.next = None # 定义了一个ListNodeclass Solution(): def mergeTwoList(self, l1, l2): dummy = ListNode(0) curr = dummy # curr用来指向新的链表到达了哪一步
2021-03-07 20:56:32
67
原创 leetcode 20.有效的括号python语言
题目:代码:class Solution(): def isValid(self, s): # s='[' # s='[{]}' # s=']' stack = [] # 用于存储已经读入的括号 lookup = {"(": ")", "{": "}", "[": "]"} # 设置一个lookup字典,用于查找括号是否为一对 for parenthese in s:
2021-03-06 23:34:49
131
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人