自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

原创 侯捷——STL源码剖析 笔记

侯捷——STL源码剖析 笔记1.总览1.STL六大部件之间的关系在下图中,我们使用了如下:1.一个容器vector2.使用vector时,使用分配器分配内存3.使用vi.begin(),vi.end()即迭代器,作为算法的参数4.使用count_if算法5.使用仿函数less()6.使用函数适配器来对我们算法的结果进行进一步筛选(not1, bind2nd)2.复杂度3.迭代器区间迭代器是一个左开右闭的区间,也就是说迭代器的end是最后一个元素的下一个元素。4.容器的结构和

2022-02-04 02:43:47 10717 8

原创 侯捷C++视频笔记——C++面向对象高级编程(下)

C++面向对象高级编程(下)01、简介学习目标:1.探讨上篇没有探讨过的问题2.继续深入了解面向对象,包括虚指针,虚表,虚函数,以及多态02、转换函数与explicit1.转换函数转换函数的特点:1.转换函数不需要像普通函数声明返回值类型2.转换一般一般都为const,因为它只是对一个值进行一个临时转换然后返回转换之后的值,而不是修改原有的值3.转换函数可以有多种如图Fraction f(3,5) //这一句是调用了构造函数double d = 4 + f;这一句实际上进

2022-01-27 01:37:20 3663 1

原创 侯捷C++视频笔记——C++面向对象高级编程(上)

C++面向对象高级编程(上)01、C++编程简介学习目标:1.学习良好的编写C++类的形式,包括两种,分别是无指针成员类(如Complex)和有指针成员类(如String)2.学习类之间的关系,即继承,复合和委托。02、头文件和类的声明1.C和C++在数据和函数的区别:C中存在数据以及函数,函数用来处理数据。缺点是缺少关键字管理数据,数据均为全局,难以作限制C++中通过类将数据和函数包在一起,以类为个体来创建对象。是面向对象的语言。2.防卫式声明:#ifndef _name_#defi

2022-01-19 17:44:58 4027 1

原创 力扣刷题笔记 贪心篇

总结先放在前面:贪心的本质是选择每一阶段的局部最优,从而达到全局最优。解答贪心时的一些小技巧与注意点:题目实战1.NO.455. 分发饼干public class Solution { public int FindContentChildren(int[] g, int[] s) { //应该先满足那些胃口最小,并且使用最小尺寸的饼干来喂 quickSort(g,0,g.Length-1); quickSort(s,0,s.Length-

2021-08-21 23:24:16 436

原创 力扣刷题笔记 回溯篇

总结先放在前面:解答栈与队列时的一些小技巧与注意点:题目实战1.NO.77. 组合2.NO.77. 组合3.NO.77. 组合4.NO.77. 组合5.NO.77. 组合6.NO.77. 组合7.NO.77. 组合8.NO.77. 组合9.NO.77. 组合10.NO.77. 组合

2021-08-11 19:20:34 352

原创 力扣刷题笔记 二叉树篇04——二叉树的合并,公共祖先。BST的搜索,验证,众数

总结先放在前面:解答二叉树时的一些小技巧与注意点:题目实战1.NO.617. 合并二叉树/** * Definition for a binary tree node. * public class TreeNode { * public int val; * public TreeNode left; * public TreeNode right; * public TreeNode(int val=0, TreeNode left=null, Tr

2021-08-09 23:17:12 163

原创 力扣刷题笔记 二叉树篇03——二叉树的路径,构造

总结先放在前面:本篇中练习了如下题目:解答二叉树时的一些小技巧与注意点:题目实战1.NO.404. 左叶子之和/** * Definition for a binary tree node. * public class TreeNode { * public int val; * public TreeNode left; * public TreeNode right; * public TreeNode(int val=0, TreeNode l

2021-08-08 00:45:55 208

原创 力扣刷题笔记 二叉树篇02——二叉树的平衡,子树,深度,高度,路径

总结先放在前面:在本篇中,解答二叉树时的一些小技巧与注意点:题目实战1.NO.101. 对称二叉树/** * Definition for a binary tree node. * public class TreeNode { * public int val; * public TreeNode left; * public TreeNode right; * public TreeNode(int val=0, TreeNode left=nu

2021-08-06 23:25:46 154

原创 力扣刷题笔记 二叉树篇01——二叉树的3+1种遍历方式(递归+迭代)

总结先放在前面:解答二叉树时的一些小技巧与注意点:题目实战1.NO.144. 二叉树的前序遍历(递归+迭代)递归解法:/** * Definition for a binary tree node. * public class TreeNode { * public int val; * public TreeNode left; * public TreeNode right; * public TreeNode(int val=0, TreeNo

2021-08-04 01:38:50 178

原创 力扣刷题笔记 栈与队列篇

总结先放在前面:栈和队列是可以互相转换使用的,其中两个栈可以实现一个队列,而一个队列就可以实现栈。栈通常用来解决匹配问题,比如说NO.20. 有效的括号和NO.1047. 删除字符串中的所有相邻重复项解答栈与队列时的一些小技巧与注意点:题目实战1.NO.232.用栈实现队列public class MyQueue { Stack<int> st1=new Stack<int>(); //st1用来保存数据 Stack<int> st2=new

2021-07-29 18:59:32 251

原创 力扣刷题笔记 数组篇03——滑动窗口

1.NO.209. 长度最小的子数组public class Solution { public int MinSubArrayLen(int target, int[] nums) { int left=0; //左边用来表示窗口的左边界 int right=0; //右边用来表示窗口的右边界 int min=nums.Length; //max用来记录窗口的最小长度 int sum=0; //sum用来保存当前窗口内的数的总和

2021-07-20 13:17:46 263 2

原创 力扣刷题笔记 数组篇02——双指针(快慢指针)法

1

2021-07-18 19:33:39 315 2

原创 力扣刷题笔记 数组篇01——二分法

1.NO.704. 二分查找public class Solution { public int Search(int[] nums, int target) { int left=0; int right=nums.Length-1; int mid=left+(right-left)/2; while(left<=right){ //如果左边>右边,说明遍历已经结束 if(nums[mid

2021-07-15 15:49:54 239

原创 MySQL 安装报错 : Could not connect to the Service Control Manager. ERROR:0

前情提要:之前上课时安装过mysql然后卸载了,现在又要用,但是安装的时候出现了这个错误做过的尝试而且尝试了很多已有方法,举几个例子1.卸载mysql清理注册表:HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Services/Eventlog/Applications/MySQLHKEY_LOCAL_MACHINE/SYSTEM/ControlSet002/Services/Eventlog/Applications/MySQLHKEY_LOCAL_MACH

2020-07-24 19:39:26 1180 1

原创 计算机网络笔记Part6 应用层(Application Layer)

本人计算机网络笔记总目录计算机网络笔记Part1 概述计算机网络笔记Part2 物理层(Physical Layer)计算机网络笔记Part3 数据链路层(Data Link Layer)计算机网络笔记Part4 网络层(Network Layer)计算机网络笔记Part5 传输层(Transport Layer)计算机网络笔记Part6 应用层(Application Layer)1.速率相关性能指标速率定义:连接在计算机网络上的主机在数字信道上传送数据位数的速率单位:b/s,Kb/s

2020-06-30 23:55:16 29125 4

原创 计算机网络笔记Part5 传输层(Transport Layer)

概述传输层的意义网络层可以把数据从一个主机传送到另一个主机,但是没有和进程建立联系。传输层就是讲进程和收到的数据联系到一起,使数据能够为应用服务所以说传输层是主机才有的层次传输层的两个协议传输层的寻址和端口端口号只用于计算机分辨本地进程,总共有2^16=65536种端口号,端口号有很多种,不能随便使用常见的应用程序端口号UDP协议UDP概述注释:因为UDP一次发送一个完整报文不会分片,所以需要应用层传输过来的数据不要太大,否则网络层分片任务就很重,但是也不能太小,不然效率较低

2020-06-30 21:28:39 33826 9

原创 计算机网络笔记Part4 网络层(Network Layer)

1.概述注释:数据报和分组的关系:分组是一段比较长的数据,将它进行切割成一段段之后就得到数据报功能一就是让数据在路由器之间走最佳的路径功能二就是让不同的设备(手机,电脑,平板等)都能正常连接功能三见图中解释开环控制就是在拥塞之前就提前设计解决闭环控制就是在拥塞时自动调整解决问题OSI参考模型各层次的传输单元应用层报文传输层报文段网络层IP数据报,分组(如果IP数据报太大就切割成分组)数据链路层帧物理层比特流2.数据交换方式为什么

2020-06-29 20:43:07 61283 16

原创 计算机网络笔记Part3 数据链路层(Data Link Layer)

1.基本概念2.封装成帧

2020-06-27 17:07:02 70003 19

原创 计算机网络笔记Part2 物理层(Physical Layer)

物理层1.基本概念2.数据通信基本知识一个数据通信例子相关术语三种通讯方式名称英文定义需要信道条数单工通信Simplex只能一个发一个收一条半双工通信half-duplex都可以发或者收,但是同一时间只能进行一个两条全双工通信duplex都可以同时收发数据两条两种数据传输方式传输方式特点串行传输速度慢,省钱,适合远距离并行传输速度快,耗钱,适合近距离码元(Symbol)定义:码元是指用一个

2020-06-27 11:20:47 70809 12

原创 计算机网络笔记Part1 概述

概述1.速率相关性能指标速率定义:连接在计算机网络上的主机在数字信道上传送数据位数的速率单位:b/s,Kb/s,Mb/s,Tb/s,如果用字节表示,则是B/s,KB/s,MB/s,TB/s1Byte=8Bit带宽在计算机网络中,指的是网络设备所支持的最高速度,单位同速率,是理想条件下最高速率吞吐量指的是单位时间内通过某个网络的数据总量个人理解速率就是实际网速,带宽是理论网速(长城宽带警告),吞吐量是一个或多个设备的综合速率,比如说1000m宽带的路由器连着三部手机,每部手机都是10m

2020-06-26 21:04:54 166632 58

原创 python SMTP/POP3 收/发邮件,解析邮件内容,附带使用说明,GUI,以及一些遇到的坑

环境python3代码#!/usr/bin/python3# -*- coding: UTF-8 -*-import tkinter as tkfrom tkinter import *import tkinter.messageboximport smtplibimport poplibfrom email.mime.text import MIMETextfrom email.header import Headerfrom email.parser import Parser

2020-06-19 15:38:03 2626 1

原创 python连接mysql,做基础的登陆和注册页面以及对应验证

环境&工具python 3.8.3mysql 5.5功能与数据库连接,实现登陆和注册,并且能对数据库做出修改代码import pymysqlfrom tkinter import *import osdef register(): global register_screen register_screen = Toplevel(main_screen) register_screen.title("注册") register_screen.geo

2020-06-09 20:38:12 3558 8

原创 mysql个人笔记(一)基础查询

1.查询单表单字段select 字段名 from 表名2.查询单表多字段select 字段名1,字段名2,字段名n from 表名3.查询单表全部字段select * from 表名4.查询常量select 100;select 'helloworld';5.查询表达式select 100%2;6.查询函数select version();7.字段起别名select 字段名1 as 别名1,字段名2 as 别名2 from 表名;//也可以不带as,留空格即可//

2020-05-22 10:38:15 371

原创 solidity合约实战(二) truffle framework 附truffle init问题解决 & truffle 编译器版本 & VScode编译器版本

已经有人写的非常详细了就不再赘述了以太坊开发(一)Truffle入门到实战

2020-05-15 14:44:01 1107 4

原创 solidity合约实战(一) 简易ERC20代币开发与发行

环境开发工具remix,metamask代币合约编写solidity一.开发一个自己的ERC20标准代币1.参考文档https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md2.详情请见代码注释框架:pragma solidity ^0.4.17;contract simpletokenstruct{ string public name; //代币名称 string public simple;

2020-05-15 11:48:50 2429

原创 以太坊solidity学习记录(六)内存与结构体

个人目录以太坊solidity学习记录(一)新版在线remix编译器的使用(2020.4.27)以太坊solidity学习记录(二)基础操作整理以太坊solidity学习记录(三)基础数据操作以太坊solidity学习记录(四)地址与交易以太坊solidity学习记录(五)函数入门...

2020-05-08 21:25:07 3286

原创 以太坊solidity学习记录(五)函数入门

个人目录以太坊solidity学习记录(一)新版在线remix编译器的使用(2020.4.27)以太坊solidity学习记录(二)基础操作整理以太坊solidity学习记录(三)基础数据操作以太坊solidity学习记录(四)地址与交易以太坊solidity学习记录(五)函数入门...

2020-05-02 22:05:05 3230 1

原创 以太坊solidity学习记录(四)地址与交易

个人文章目录以太坊solidity学习记录(一)新版在线remix编译器的使用(2020.4.27)以太坊solidity学习记录(二)基础操作整理以太坊solidity学习记录(三)基础数据操作以太坊solidity学习记录(四)地址与交易...

2020-04-29 19:55:14 4872

原创 以太坊solidity学习记录(三)基础数据操作

1.如何修改string类型pragma solidity ^0.4.0;contract stringtest1{ string testword='helloworld'; //68656c6c6f776f726c64为这串字符的16进制 function stringlength() public view returns (uint){ //r...

2020-04-25 23:26:17 5282 3

原创 以太坊solidity学习记录(二)基础操作整理

1.solidity的四种可见度/访问权限public:任何人都可以调用该函数,包括DApp的使用者。private:只有合约本身可以调用该函数(在另一个函数中)。internal:只有这份合同以及由此产生的所有合同才能称之为合同。external:只有外部可以调用该函数,而合约内部不能调用。2.solidity的三种修饰符view: 可以自由调用,因为它只是“查看”区块链的状态...

2020-04-24 22:19:01 8718 8

原创 区块链知识个人总结(一)哈希函数与密码学

密码学中的哈希函数三个性质1.collision resistance个人理解为抵抗哈希碰撞的性质,即能将人为制造哈希碰撞的效率降至非常低下,或者说不可能发生有效的人为制造哈希碰撞的性质。理解a:这个算法无法被证明。只可以在长时间的实践中证实。因为源文件可以是真正意义上的无数种,而哈希之后得到的哈希值一定会有穷尽。所以单纯的数学方法无法证明理解b:这个算法不一定一直有效:。比如说以前...

2020-04-15 19:40:41 1595

原创 小白从零开始学习区块链的个人笔记(四) 智能合约与区块链操作系统

4.1 以太坊简介什么是以太坊以太坊(Ethereum):是一个开源的有智能合约功能的公共区块链平台,通过其专用加密货币以太币(Ether)提供去中心化的以太虚拟机(Ethereum Virtual Machine)来处理点对点合约。以太币:简称ETH,以太币是以太坊的内部燃料,为以太坊上各种币的自动交易提供主动的流动性, 同时也适用于智能合约执行的费用支付,它是以太坊内置的资产。以太坊虚...

2020-04-14 20:41:41 1097

原创 小白从零开始学习区块链的个人笔记(三) 分布式信息系统

1

2020-04-12 22:25:47 458

原创 小白从零开始学习区块链的个人笔记(一) 什么是区块链

小白从零开始学习区块链的个人笔记(一)第一章 什么是区块链区块链的起源1.密码朋克的成立1993年,埃里克 休斯发布《密码朋克宣言》,目的是保护个人隐私2.工作量证明机制1990年由大卫 乔姆发明,也称Ecash,认为分布式的、真正的数字现金系统应该为人们的隐私加密,故使用数字编码,且付款方匿名而收款方非匿名。因理念太超前终告破产倒闭3.哈希现金1997年,为了解决垃圾邮件问题发明...

2020-04-10 14:49:53 897

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除