- 博客(178)
- 收藏
- 关注
原创 一些技能点&语法糖(上)
失踪人口回归,距离上篇博客已经过去了整整两年,过去两年坎坎坷坷地在忙一些有意义或没意义的事情,现在总算进入到了一个新的暂稳态。这篇文章写一下工作后接触到的一些新技能点,同时也给人生新阶段的前半年留个记录:)
2022-11-14 22:54:40
286
原创 Java零碎知识点总结
标准代码——JavaBeanJavaBean 是 Java语言编写类的一种标准规范。符合 JavaBean 的类,要求类必须是具体的和公共的,并且具有无参数的构造方法,提供用来操作成员变量的 set 和 get 方法。格式publicclassClassName{成员变量构造方法无参构造方法【必须】有参构造方法【建议】成员方法getXxx()setXxx()}举例publicclassStudent{//成员变量pr...
2020-09-07 16:45:25
420
原创 计算机组成原理期末复习-思维导图
PDF版本:链接:https://pan.baidu.com/s/1POVu0c8NtpnuJgAe6a7SQA提取码:qjom“运算方法和运算器”一章中公式太多,就没有打出来,只列了个提纲。:-)
2020-06-05 20:49:32
1510
1
原创 计算机网络期末复习-思维导图
PDF版本可在这提取:链接:https://pan.baidu.com/s/1T9O-V9zBl55vm51gxmJ-ag提取码:h93l祝期末顺利 :-)
2020-06-05 14:37:12
1263
2
原创 BUPT 计网实验二:网络层数据分组的捕获和解析
前期准备:下载Wireshark抓包软件,官网速度慢的话可以到这里下载https://pc.qq.com/detail/9/detail_6909.html,一路next下来后打开软件,开始实验。注:本文中只说明具体操作步骤,具体数据包分析没有涉及。欢迎讨论 : )一、发送DHCP分组,捕获并分析格式1、DHCP简介 DHCP,动态主机配置协议,前身是BOOTP协议,是一个局域网的网络协议,使用UDP协议工作,常用的2个端口:67(DHCP server),68(DHCP cli...
2020-05-25 22:39:13
6512
原创 BUPT 计网实验一:数据链路层滑动窗口协议的设计与实现
一、从样例程序上手在实验文件夹的Example文件夹下有三个样例程序:gobackn.exe,selective.exe,stopwait.exe;可通过命令行窗口打开:在文件夹上方的地址栏里直接输入cmd即可打开命令行窗口(如图);打开两个命令行窗口;打开后任选一个程序名,如stopwait,在两个窗口内分别输入 stopwait A 和 stopwait B,连接建...
2020-04-26 18:12:02
6812
2
原创 BUPT CS:APP lab 3 缓冲区溢出攻击实验
用tar -xvf target.tar指令解压接收到的文件,用objdump -d target/ctarget > ctarget.txt指令和objdump -d target/rtarget > rtarget.txt指令生成反汇编代码文件,然后开始分析。Phase_1 阅读实验讲义可知,本关要使得getbuf()函数返回的时候,执行touch1()而...
2019-11-21 22:49:12
4839
原创 BUPT CS:APP lab2 拆解二进制炸弹
本文使用了GDB进行拆弹,前期准备工作不再赘述,直接进入拆弹环节。Phase_1 对phase_1的代码反汇编后查看,阅读代码可发现有参数传入寄存器%esi,用x/s指令查看此处地址中的值,即可得phase_1的答案。Phase_2反汇编phase_2,阅读代码发现函数<read_six_numbers>,查看此函数,打印相应寄存器中的值,发现是6个 %d,...
2019-11-08 14:02:54
2935
原创 树和二叉树的操作(课堂笔记)
一、树的定义和基本术语 1. 树是n(n>=0)个结点的有限集。 2. 在一棵非空树中,有且仅有唯一的根(root)结点,除根结点外其余结点可分为m(m>0)个互不相交的有限集,它们本身 也是一棵树,称为树的子树(subtree)。 ...
2019-10-25 21:43:58
440
原创 数组和广义表的操作(课堂笔记)
一、矩阵的压缩存储对称矩阵:对有n^2个元素的对称矩阵,可用长度为 [n(n+1)/2] 的一维矩阵存储。以行序为主序,存储下三角中的元: 当i >= j时, k = i(i-1)/2+j-1; 当i < j时,k = j(j-1)/2+i-1; 稀疏矩阵 (1)三...
2019-10-18 23:20:42
515
原创 串的操作(课堂笔记)
一、串的存储方式 1.顺序存储方式#define MAXLEN 100typedef struct { char str[MAXLEN]; int curlen; /* data */}string;//顺序存储结构 2.链式存储结构(块链)typedef NODELEN 100typedef struct node{ char ch;//...
2019-10-13 23:25:54
376
原创 数据结构第一次作业:多项式乘法
#include<iostream>using namespace std;typedef struct lnode{ float coe;//系数 int exp;//指数 struct lnode* next;}node;node* Create(int n); //创建链表void Output(node* head); //输出void Add(n...
2019-09-24 12:59:31
534
原创 栈与队列的操作(课堂笔记)
一、顺序栈#include<iostream>using namespace std;#define MAXSIZE 100typedef int Selemtype;typedef struct{ Selemtype data[MAXSIZE]; int top; //栈顶}SqStack; //顺序栈int Push(SqStack* s, Sele...
2019-09-20 21:21:04
319
原创 线性表的操作(课堂笔记)
*/------驱动程序------/*void Input(list& a, int n) //输入{ elemtype x; while (n) { cin >> x; Append(a, x); n--; }}void Prt(list a) //打印{ elemtype x; for (int i = 1; i <= L...
2019-09-19 10:55:37
280
原创 五、微分方程模型以及数值解
一、微分方程模型1.研究函数变化规律2.建立微分方程模型有三种方法根据规律建模类模型:根据已有的规律和定律列常微分方程; 微元法建模:(1)用微积分的微元分析的方法建立常微分方程模型;(2)不是直接对未知函数及其导数应用定理和关系式, 对微元应用规律; 模拟近似法建模:在社会科学、生物学、医学、经济学等学科的实践中,由于这些学科中一些现象的规律性我们还不是很清楚,即使有所了解也并...
2019-09-06 16:12:14
2172
原创 四、线性规划模型
一、线性规划模型基础1.建立线性规划模型的步骤找出待定的未知变量(决策变量),并用代数符号表示它们; 找出问题中所有的限制或约束,写出未知变量的线性方程或线性不等式; 找到模型的目标或者判据,写成决策变量的线性函数,以便求出其最大值或者最小值。2.线性规划问题的一些应用生产计划问题 运输问题 合理下料问题 投资证券组合问题 分派问题 生产工艺优化问题3.线性规划模型的...
2019-09-06 15:14:06
3974
原创 三、存贮模型
一、不允许缺货的存贮模型二、允许缺货的存贮模型三、优化模型的一般意义优化模型的数学描述:最优化( optimization)是指在给定的约束条件(constraint)下,找出一个决策变量(decision variable)的值,使得被称为目标函数(objective function)的表达愿望尺度的函数达到最小或最大值。 优化模型的...
2019-09-06 11:30:21
5705
原创 一、常用建模方法与初等模型
建模方法综述1.常用的建模方法理论分析法 模拟法 数据分析法 人工假设法 类比分析法2.建模的逻辑思维方法抽象 归纳 演绎 类比 模拟 移植3.主要采用的数学建模基本方法机理分析法理论分析法:主要应用自然科学(物理等)中已证明是正确的理论、原理和定律,对被研究系统的有关因素进行分析、演绎、归纳,从而建立系统的数学模型。适用范围:工艺比较成熟、对机理又有深...
2019-09-06 10:44:23
1430
原创 链表实现多项式相乘
参考文章:https://blog.youkuaiyun.com/liuyunjay66/article/details/10526749自己敲了一遍,先mark一下,以后理解可能会更深一点。亮点在于对第二个多项式进行了逆反。#include<stdio.h>#include<stdlib.h>typedef struct node{ float coe;//系...
2019-09-04 18:04:55
3473
原创 CCF-CSP 201903-1 小中大
思路数组开大 注意细节处理代码#include<cstdio>#include<algorithm>using namespace std;int a[100005], i, j, n;int main(){ scanf("%d", &n); for (int i = 0; i < n; i++) scanf("%d", &a...
2019-07-16 14:16:30
189
原创 CCF-CSP 201903-2 二十四点
思路开两个栈,一个存符号,一个存数字; 扫描字符串,遇数存数栈,遇‘+’直接存,遇 ‘-’ 变为‘+’存,遇 ‘x’ 直接计算,并将结果压入数字栈,遇 ‘/’ 同理于 ‘x’; 最后字符栈里只剩 ‘+’ ,循环计算直至栈空。代码#include<cstdio>#include<cstring>#include<stack>using na...
2019-07-16 13:49:05
173
原创 Java基础语法
基础语法常量:定义变量的时候在前面加上 final 修饰符,就成了常量; var关键字:省略变量类型时,可用 var 关键字; StringBuilder sb = new StringBuilder();var sb = new StringBuilder(); 变量的作用域是语句块; String字符串可以直接用 + 号连接;若是用 + 号连接字符串和其他数据类型,则会...
2019-07-13 11:51:25
236
原创 树和二叉树
树树(Tree)是n个结点的有限集;它或为空树(n=0),或为非空树; 对于非空树:(1)有且仅有一个被称为根的结点;(2)除根结点以外的其余结点可分为m个互不相交的有限集T1、T2等等,其中每个集合又是一颗树,并且称为根的子树(SubTree); 基本术语:结点、结点的度、树的度、叶子、非终端结点、双亲和孩子、兄弟、祖先、子孙、层次、堂兄弟、树的深度、有序树和无序树、森林。二叉树一...
2019-07-09 11:39:30
176
原创 串、多维数组和广义表
串一、串的定义串(string)(或字符串)是由0个或多个字符组成的有限序列;0个字符的串称为空串(null string),其长度为0; 子串:主串中任意个连续的字符组成的子序列;子串的第一个字符在主串中的位置为子串的位置; 空格串(blank string):由一个或多个空格组成; 串是一种内容受限的线性表,其数据元素是单个字符。二、串的存储结构串的顺序存储结构 //-...
2019-07-07 17:13:59
366
原创 JavaScript基本语法
本文参考自廖雪峰的博客https://www.liaoxuefeng.com/一、数据类型二、字符串三、数组Number:JS不区分整数和浮点数,统一用Number表示;其中,NaN表示Not a Number,无法计算结果时用NaN表示; 字符串、布尔值、与或非运算 和C语言中的一样; 切记要使用 === 来比较两个数据;唯一能判断NaN的是isNaN()函数;浮点数的大...
2019-07-06 19:31:24
196
原创 栈和队列
一、栈的表示和操作的实现定义:栈(stack)是限定只在表尾进行插入或删除操作的线性表;表头为栈底(bottom),表尾为栈顶(top);不含元素叫空栈;具有后进先出(LIFO)的特点。 顺序栈的表示和实现 //-----顺序栈的存储结构-----#define MAXSIZE 100 //顺序栈存储最大容量typedef struct{ SElemType *base;...
2019-07-06 11:56:19
476
原创 数据的表示和存储
一、信息的二进制编码二、定点数的编码表示 摘自博客:https://www.cnblogs.com/wxy2000/p/9752774.html1、机器数一个数在计算机中的二进制表示形式, 叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号, 正数为0, 负数为1.“比如,十进制中的数 +3 ,计算机字长为8位,转换成二进制就是00000...
2019-07-05 18:23:39
828
原创 线性表
一、线性表的顺序表示和实现实际上是运用了数组的思想实现了线性表的存储,也叫顺序表;具有随机存取的性质。 时间复杂度:取值:O(1); 查找:O(n); 插入:O(n); 删除:O(n) 。//-----顺序表的存储结构-----#define MAXSIZE 100 //顺序表的最大长度typedef struct{ ElemType *elem; //存储空...
2019-07-05 16:41:17
194
转载 Python高级特性
1.切片:用于取指定索引范围内的元素,对list,tuple,字符串均起作用;L = list(range(100))print(L[0:10]) #取前十个元素print(L[0:10:2]) #前十个元素,每两个取一个print(L[::4]) #所有元素,每4个取一个2. 迭代:可用collections模块中的Iterable类型判断一个对象是否是可迭代对象,若是,则...
2019-06-30 15:17:33
225
转载 Python基础语法
本文参考廖雪峰的博客:https://www.liaoxuefeng.com/输入用 input(),输出用print(); name = input('please input your name')print('hello',name);please enter your name: Michaelhello, Michael #开头的为注释; 缩进一般为4个...
2019-06-30 10:42:50
289
原创 Codeforces Round #547 (Div. 3)
A. Game 23http://codeforces.com/contest/1141/problem/A#include<bits/stdc++.h>using namespace std;#define inf 0x3f3f3f3ftypedef long long ll;int main(){ int n, m; cin >> n >&...
2019-03-20 23:44:01
302
原创 B. 实验11_10_链表排序
题目描述问题描述:已知一个正整数组成的无序序列,个数未知,但至少有一个元素,你的任务是建立一个单链表,并使用该链表存储这个正整数序列,然后将这个链表进行排序,使得排序后的链表为递增序列。正整数的输入用-1作为结束标志,注意-1不算这个正整数序列中的元素(不要统计-1)。在排序的过程中,你可以自己选择排序算法(冒泡排序、选择排序等),但必须是通过修改结点的指针域来进行排序,而不是对结点的数据域进...
2019-03-18 21:20:09
2059
原创 A. 实验11_4_初识链表
题目描述问题描述:已知一个正整数序列,个数未知,但至少有一个元素,你的任务是建立一个单链表,并使用该链表存储这个正整数序列,然后统计这个序列中元素的最大值与最小值,计算序列全部元素之和。正整数的输入用-1作为结束标志,注意-1不算这个正整数序列中的元素(不要统计-1)。输入与输出要求:输入一个正整数序列,正整数序列元素的个数未知,但以输入“-1”结束,输入“-1”前至少输入一个正整数。序列中...
2019-03-18 21:19:20
1916
1
原创 C++位运算
一、逻辑运算符 &(与) ^(异或) |(或) ~(取反)1、&的用法 通常用于二进制取位操作,例如一个数 &1 的结果就是取二进制的最末位; 这可以用来判断一个整数的奇偶,二进制的最末位为0表示该数是偶数,最末位为1表示该数为奇数。例:if(a&1) a++; else a-...
2019-02-19 17:57:03
1420
原创 快排模板
快速排序选择“基准数”时,若选取左右两端的数,在数组是有序的情况下,时间复杂度会退化为O(N^2),和冒泡排序一样了。所以,选取基准数时,可选取中间的数,避免这种情况。void quicksort(int left, int right)//快排实质:基准数归位{ int i, j, temp, t; temp = a[(left+right)/2];//基准数 i = lef...
2019-02-15 13:27:35
193
原创 最小生成树的一种解法(并查集)
/*使用 并查集 的Kruskal算法*/struct edge//为方便排序,用结构体来存储边的关系{ int u, v, w;//起点,终点,距离};struct edge e[10];//比m大1即可int n, m;int f[7] = { 0 }, sum = 0, count = 0;//并查集所用变量,f数组比n大1即可void quicksort(int l...
2019-02-14 22:48:19
263
原创 并查集
int getf(int v)//找爹递归函数 { if (f[v] == v) return v; else return getf(f[v]); } void merge(int v, int u)//合并两子集合的函数 { int t1, t2; t1 = getf(v); t2 = getf(u); if (t1 != t2)//判断两结点是否在...
2019-02-14 15:08:43
118
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人