- 博客(29)
- 问答 (1)
- 收藏
- 关注
原创 数值分析知识点(导论)
相对误差:(y-x)/x,由于准确值x通常不知道,所以用(y-x)/y替代。相对误差限:|y-x|/|y|的取值范围。误差限:|y-x|的取值范围。设准确值为x,近似值为y。
2023-02-11 19:07:47
925
原创 数据库知识点(E-R)
1 to m(m to 1):建立三个表,其中一个表为关系表,储存对应关系;两个表,引入外键来储存对应关系,如果某一边是部分参与(即有可能为null),则外键加在强制参与的一边以减少null。2.将实体集通过关系连接在一起,如果有由实体集共同决定的属性则加在关系上。m to n:建立三个表,其中一个表为关系表,储存对应关系。注意每个实体集的连接都需要一个关系,关系的命名可以随意。三元:建立四个表,其中一个表为关系表,储存对应关系。3.逻辑结构设计(将E-R转化为关系模型)2.概念结构设计(设计E-R)
2023-02-10 22:45:58
275
原创 数据库知识点(关系数据理论)
例如 姓名->年龄(如果没有重名),即知道姓名即可知道年龄术语:对于X->Y,称X为决定因素。若Y为X的子集,则称为平凡函数依赖,否则非平凡若X->Y,Y->X则可记为XY如果对于X的任意真子集Z,都有Y不依赖于Z,则称Y对X为完全函数依赖(F)反之为部分函数依赖(P)
2023-02-10 14:08:18
610
原创 数据库知识点(关系代数)
在自然连接中,没有进入最终结果的称之为悬浮元组,可以通过补NULL的形式添加到结果中,例如R,S,如果两个都添加,称为外连接,只添加R,称为左外连接,若为S则称为右外连接。引入象集的概念,对于R中X属性组中所有不重复的元素,选出其对应的Y属性下的行,最终的结果称为象集,选出X中对应象集完全包含S中的Y属性组的元素作为结果。并,差,笛卡尔积,选择,投影被选为基本运算,其他运算均可用基本运算表达出来,引进的目的是为了简化表达,差:R-S,选出R中有,S中没有的元素。R-S与S-R不同,交等价于R-(R-S)
2023-02-09 20:09:19
839
原创 python入门,excel文件读写
加上r 就是保持字符串原始值的含义,即不对其中的符号进行转义。因为windows下的目录字符串中通常有斜杠道 “\”,而斜杠在 Python 的字符串中有转义的作用。
2022-08-17 16:41:45
498
原创 Python入门,基础语法
“/”表示除“//”表示整除“**”表示指数运算“#”来进行行注释多行注释采用 “” 或者 ‘’支持“+”,“*”+:拼接字符串*:重复字符串如‘a’*3=‘aaa’‘a’+‘b’=‘ab’关键字 def末尾要加“:”返回值直接在 return 关键字后加循环条件逻辑操作符:and or not条件 if ,elif(else if 的缩写) ,else(可缺省),例子:键盘输入input()函数,遇换行结束,以字符串形式返回输入值,接受一个参数,该参数会作为提示信
2022-07-10 11:04:55
313
原创 数据结构复习.机考篇(c++)(严蔚敏版)
1.顺序表(可用vector代替)插入注意点:1.插入前要判断插入位置是否合法2.判断位置合法时注意可插位置为size+1,因为还可以插在尾部3.插入时将插入位置后面的元素往后移动,建议用 (i- -)void insert(int pos, int va) { pos--; if (pos >= 0&& pos <= size) { for (int i = size; i > pos; i--) { data[i] = da
2021-12-25 15:34:44
1336
原创 string中end函数返回值
string aa.end()//返回的是最后一个迭代器例如:字符串a为(“asd”),a.end()-1为d,a.end()为他下一个标志结束的符号
2021-09-16 23:15:33
1327
原创 广义表(C++)
核心思想:1.节点类中用一个标志域区别是表还是元素2.节点类中使用联合体3.广义表类中存放一个起始指针1.创建1.两个函数的形式,详见代码注释2.两次接受输入,方便递归,见注释3.输入格式:空表用#表示,每个之间加逗号,用分号表示结束例如:a,(#),b,c,(d,(e));(如果觉得对输入要求过高,可以使用一个字符串保存输入,然后加一个处理函数,把其他格式的输入转化为此输入,函数中读输入时从该字符串中读即可)#include<bits/stdc++.h>using nam
2021-08-01 23:12:50
1108
1
原创 实现减号的循环 (玩具谜题(C++))
题目洛谷原题链接:link.总体思想:一个类保存朝向与职业,根据操作的不同对下标进行加减细节注意要起到循环效果实现方法:1.减的时候 j = (j + n - y) % n2. 加的时候j = (j + y) % n;#include<bits/stdc++.h>using namespace std;class peo{public: int direction; string profession; void sett(int a, string
2021-07-30 16:40:49
129
原创 稀疏矩阵(C++)
参考:数据结构(c++版)(第二版)清华大学出版社 陈宝平等主编核心:1.用一个三元组保存不为0的部分(本质是定义一个类,存放不为0元素的 值 , 行 列坐标)2.定义一个稀疏矩阵类,里面有三元组类的一维数组,本解法用的是静态(可以用指针实现动态,先分配一个小空间,如果空间不够,就重新声明一个指针开一个大小为 (原空间大小+1) 的空间,把值都复制进去,再释放原指针空间,最后把原指针指向重新声明的指针)3相加,相减,相乘都是把他扩展成二维数组,对应到代码就是两层循环 在循环中判断该行列坐标下
2021-07-19 22:02:09
4221
2
原创 矩阵的压缩储存(C++)
主要思想:1.利用数学公式进行下标转换,把原本高维的数组下标转换成一维本题的下标转换公式如下:来源是:(上一行的所有元素总和(本题中即为等差数列求和))+(这一行前面的所有元素)注意1.这里都是以0开头2.本题思想和下三角矩阵的一样,只不过是下三角矩阵要多开一个数组空间储存它上三角的值( 下三角矩阵中,上三角的值都相等),同时要更改一下 i < j 的情况。上三角矩阵就是反过来的等差数列求和.我采用的方法是用二维数组输入,如果想直接用一维数组接受输入也可以,注意下标就好了#
2021-07-19 12:53:15
467
1
原创 杨辉三角形(C++)(数据结构习题)
1.递归法,递归最重要的就是找数学规律(假设行和列都从0开始计数)#include<bits/stdc++.h>using namespace std;int yue(int n, int k){ return (k == 0 || k == n) ? 1 : (yue(n - 1, k - 1) + yue(n - 1, k));}int main(){ int x, y; while (1) { cin >> x >> y; cou
2021-07-15 12:09:07
249
原创 进制转换(C++)
为了简化代码,只考虑10以内的进制转化大于10的进制转换只需要在输出的时候加判断语句,例如if(top()==10)cout<<“A”;(注意栈顶元素返回和出栈的区分,前者只是返回一个值,栈顶指针没有变化。如果在if(top()==10) 里用出栈来得到栈顶元素,即使判断不对,栈顶元素也出栈了,进入下一条判断语句的栈顶元素就不是上一个栈顶元素了)第一种方法:栈因为进制转换的方法很契合栈的先进后出的特点,所以用栈来写,总体思路把计算出来的数都压入栈,最后再把栈中的元素全部输出#in
2021-07-14 19:27:50
299
转载 有n个元素依次进栈,输出出栈可能的序列数(C++)
参考:https://blog.youkuaiyun.com/qq_26286193/article/details/80216479以第一个为参照 :(不妨假设第一个为A,总元素数为n)A第一个出栈:剩下n-1个元素再排列出栈次序A第二个出栈:前面一个元素排列出栈次序(显然排列总数为1),剩下n-2个元素再排列出栈次序A第三个出栈:前面二个元素排列出栈次序(显然排列总数为2),剩下n-3个元素再排列出栈次序…所以得到规律:#include<bits/stdc++.h>using name
2021-07-14 16:20:39
2458
原创 循环队列(C++)
队列:特点有:1.先进先出,即尾进头出(或相反)2.两个下标,一个表示头一个表示尾3.本质也还是数组注意点:1.假溢出问题,如图所示,尾下标到顶不能再加,但下面还有储存位置解决办法:一:固定队头或队尾,出队或入队时移动元素,保证队头或队尾一直在底部或顶部二:循环队列(本文采用的的方法)循环队列带来的问题:无论时队空还是队满,都会有front == rear ,以及rear,front实现循环的具体方法解决方案:1.引入计数变量counter,当counter == maxsi
2021-07-14 14:57:48
767
原创 循环链表解决约瑟夫环问题(C++)
主体思路:创建一个循环链表,每个节点储存的数据表示他们的位置,每出去一个就删除一个节点,并且将链表大小减一,当链表只剩一个节点时,终止循环注意的点:1.因为删除要找上一个节点,所以是m-12.因为在本题中只需要输出对应元素就好了,所以不需要更改尾指针,没有必要#include<bits/stdc++.h>using namespace std;class node{public: node* next; int data; node(int a) { data = a
2021-07-14 12:16:06
2003
原创 栈,数据结构
字符类型的栈(有大小上限)从0开始计数主要实现思想:1.本质就是数组2.用下标表示栈顶3.出入栈就对下标加减就好了*PS:*若要实现任意长度的栈,使用栈链表(本质就是单链表),头插法创建单链表(这样可以保证出入栈方向与创建方向一致,头指针就是栈顶元素的指针,如果尾插的话,链表尾才是栈顶,不方便),出入栈就对头指针操作:入栈就新插入一个节点,并让头指针指向他。出栈就删除头指针指向的节点,并将头指针指向该节点下一个#include<bits/stdc++.h>using namesp
2021-07-12 20:05:56
80
原创 链表类(整型)
整型单链表,C++实现#include<bits/stdc++.h>using namespace std;class node//定义一个节点类{ int data; node* next;public: node() { next = NULL; } friend class listt;};class listt//定义一个链表类,加t是为了防止与系统函数重名{ node* head; int size;public: listt() { he
2021-07-12 17:51:51
1366
原创 简易计算器
刚学了栈和队列,里面讲到栈的应用提到了这个,尝试写了一下这里只考虑了非常简单的情况:1.输入一定合法2.数据长度只有1并且都是整型3.只考虑加减乘除,不考虑带括号的情况总体思路是把输入全当成字符串,运用了一点算符优先法#include<bits/stdc++.h>using namespace std;int op(char a)//根据符号的不同返回不同的优先级等级{ if (a == '+' || a == '-') { return 1;..
2021-07-11 17:44:48
93
空空如也
python复制的文本到控制台,\n失效问题?
2022-07-20
TA创建的收藏夹 TA关注的收藏夹
TA关注的人