基础知识
海马有力量
Ship it!
展开
-
计算机复试面试基础知识(八股文)(数据库、数据结构、操作系统、计网、机组等)
一、数据库部分数据库绪论1、简述三层模式、两级映射,分别有什么作用?模式(逻辑模式):是数据库中全体数据的逻辑结构和特征的描述,是数据库系统模式结构的中间层,即不涉及数据的物理存储细节,也与具体应用程序开发工具语言无关。外模式(用户模式):是用户能看见和使用的局部数据的逻辑结构和特征描述,是与某一应用有关的数据的逻辑表示,是模式的子集,一个数据库可以有多个外模式。内模式(存储模式):数据物理结构和存储方式的描述,是数据在数据库内部的表示方式,如存储方式是按照某个属性升序存储,什么索引等。外模式模原创 2022-04-14 08:57:22 · 25220 阅读 · 4 评论 -
C语言/C++函数中参数传递的三种方式
(1)值传递,就是把你的变量的值传递给函数的形式参数,实际就是用变量的值来新生成一个形式参数,因而在函数里对形参的改变不会影响到函数外的变量的值。(2)地址传递,就是把变量的地址赋给函数里形式参数的指针,使指针指向真实的变量的地址,因为对指针所指地址的内容的改变能反映到函数外,能改变函数外的变量的值。(3)引用传递,实际是通过指针来实现的,能达到使用的效果如传址,可是使用方式如传值。说几点建议:如果传值的话,会生成新的对象,花费时间和空间,而在退出函数的时候,又会销毁该对象,花费时间和空间。因而如果原创 2021-12-02 20:14:41 · 1223 阅读 · 0 评论 -
C语言实现各种排序
实现了插入排序,折半插入排序,希尔排序,冒泡排序,选择排序,快速排序,归并排序。介绍见注释。#include<stdio.h>#include<stdlib.h>#define N 100typedef int ElemType;void Swap(int *a,int *b){ int t; t=*a; *a=*b; *b=t;}//插入排序:设第一个数为排好的序列,后面的数插入到前面的序列 void InsertSort(ElemType a[],int原创 2021-10-25 21:41:09 · 405 阅读 · 0 评论 -
【PTA】 关于堆的判断 (25分)
L2-012 关于堆的判断 (25分)将一系列给定数字顺序插入一个初始为空的小顶堆H[]。随后判断一系列相关命题是否为真。命题分下列几种:x is the root:x是根结点;x and y are siblings:x和y是兄弟结点;x is the parent of y:x是y的父结点;x is a child of y:x是y的一个子结点。输入格式:每组测试第1行包含2个正整数N(≤ 1000)和M(≤ 20),分别是插入元素的个数、以及需要判断的命题数。下一行给出区间[−1000原创 2020-11-26 17:45:01 · 834 阅读 · 0 评论 -
【poj3061】Subsequence(尺取法)
SubsequenceDescriptionA sequence of N positive integers (10 < N < 100 000), each of them less than or equal 10000, and a positive integer S (S < 100 000 000) are given. Write a program to find the minimal length of the subsequence of consecutive原创 2020-11-20 18:54:17 · 201 阅读 · 0 评论 -
明码(补码的求法)
汉字的字形存在于字库中,即便在今天,16点阵的字库也仍然使用广泛。16点阵的字库把每个汉字看成是16x16个像素信息。并把这些信息记录在字节中。一个字节可以存储8位信息,用32个字节就可以存一个汉字的字形了。把每个字节转为2进制表示,1表示墨迹,0表示底色。每行2个字节,一共16行,布局是:第1字节,第2字节第3字节,第4字节....第31字节, 第32字节这道题目是给你一段多个汉字组成的信息,每个汉字用32个字节表示,这里给出了字节作为有符号整数的值。题目的要求隐藏在这些信息中。你的原创 2020-10-02 14:00:44 · 511 阅读 · 0 评论 -
试题 历届试题 拉马车(模拟,string)
问题描述 小的时候,你玩过纸牌游戏吗? 有一种叫做“拉马车”的游戏,规则很简单,却很吸引小朋友。其规则简述如下: 假设参加游戏的小朋友是A和B,游戏开始的时候,他们得到的随机的纸牌序列如下: A方:[K, 8, X, K, A, 2, A, 9, 5, A] B方:[2, 7, K, 5, J, 5, Q, 6, K, 4]其中的X表示“10”,我们忽略了纸牌的花色。从A方开始,A、B双方轮流出牌。当轮到某一方出牌时,他从自己的纸牌队列的头部拿走一张,放到桌上,并且压在最上面一张原创 2020-10-01 11:58:49 · 123 阅读 · 0 评论 -
P3811 【模板】乘法逆元
P3811 【模板】乘法逆元题目描述给定 n,pn,p 求 1\sim n1∼n 中所有整数在模 pp 意义下的乘法逆元。输入格式一行两个正整数 n,pn,p。输出格式输出 nn 行,第 ii 行表示 ii 在模 pp 下的乘法逆元。输入输出样例输入10 13输出179108112534说明/提示1 \leq n \leq 3 \times 10 ^ 6, n < p < 200005281≤n≤3×10 6 ,n<p<20000528原创 2020-06-01 14:59:13 · 610 阅读 · 0 评论 -
试题 历届试题 小计算器
试题 历届试题 小计算器问题描述 模拟程序型计算器,依次输入指令,可能包含的指令有 1. 数字:‘NUM X’,X为一个只包含大写字母和数字的字符串,表示一个当前进制的数 2. 运算指令:‘ADD’,‘SUB’,‘MUL’,‘DIV’,‘MOD’,分别表示加减乘,除法取商,除法取余 3. 进制转换指令:‘CHANGE K’,将当前进制转换为K进制(2≤K≤36) 4. 输出指...原创 2020-05-04 09:51:19 · 174 阅读 · 0 评论 -
P1439 【模板】最长公共子序列
P1439 【模板】最长公共子序列题目描述给出1-n的两个排列P1和P2,求它们的最长公共子序列。输入格式第一行是一个数n,接下来两行,每行为n个数,为自然数1-n的一个排列。输出格式一个数,即最长公共子序列的长度输入输出样例输入 #1复制5 3 2 1 4 51 2 3 4 5输出 #1复制3说明/提示【数据规模】对于50%的数据,n≤1000对于100%...原创 2020-02-23 11:07:53 · 462 阅读 · 0 评论 -
hduoj2036 改革春风吹满地(叉积求三角形多边形面积)
hduoj2036 改革春风吹满地Input输入数据包含多个测试实例,每个测试实例占一行,每行的开始是一个整数n(3<=n<=100),它表示多边形的边数(当然也是顶点数),然后是按照逆时针顺序给出的n个顶点的坐标(x1, y1, x2, y2… xn, yn),为了简化问题,这里的所有坐标都用整数表示。输入数据中所有的整数都在32位整数范围内,n=0表示数据的结束,不做处理。...原创 2020-02-06 10:39:54 · 374 阅读 · 0 评论 -
二分查找细节问题
6-10 二分查找 (20分)如果一个递增的有序数量没有重复的数,标准的二分写法是这样的:Position BinarySearch( List L, ElementType X ){ int left=1, right=L->Last; while(left<=right){ int mid=(left+right)/2; if(X>L->Data[mi...原创 2020-01-27 13:35:40 · 217 阅读 · 2 评论 -
F Kuangyeye's Game(判断点是否在一条直线上)
链接:https://ac.nowcoder.com/acm/contest/3674/F来源:牛客网译文描述圣诞节快到了!为了庆祝这个伟大的节日,富有创造力的男孩Kuangyeye希望与大家一起玩游戏。该规则描述如下:教室中有几个气球,并且您有一支道具枪。为了实现更高的目标,您需要用一颗子弹射击尽可能多的气球。现在,您必须判断是否可以一次射击就爆炸所有气球。严格地说,平面上有n个点,您需要...原创 2020-01-11 18:58:02 · 183 阅读 · 0 评论 -
数字较大时相加
#include<stdio.h>#include<string.h>int main(){ int b[1000]={0},c=0,d,i,n,k,j,t,m; char a[1000]; scanf("%d",&n); for(i=0;i<n;i++){ int b[1000]={0}; c=0;scanf("\n"); f...原创 2019-03-20 18:11:09 · 103 阅读 · 0 评论 -
最长递增长度(动态规划)
链接:https://ac.nowcoder.com/acm/contest/911/G来源:牛客网题目描述给定一个长度为n的整数序列S,求这个序列中最长的严格递增子序列的长度。输入描述:第一行,一个整数n (2<=n<=50000),表示序列的长度第二行,有n个整数 (-10^9 <= S[i] <= 10^9),表示这个序列输出描述:输出一个整数,表示最...原创 2019-06-02 20:22:48 · 562 阅读 · 0 评论 -
图论算法——DFS求有向图或无向图两点间所有路径
DFS大法好!DFS作为搜索算法,最常用于图,对图的遍历,探寻路径,甚至是求一些情况下的最短路。我在这里就介绍一下dfs求两点的的所有路径,这个算法最开始在数据结构大作业里面用到了,当时费了一番劲写出来后,就想oj题里面这么变态的算法肯定不会出,后来还真的见过了。。。原创 2019-06-12 09:28:24 · 25641 阅读 · 19 评论 -
1003 Emergency (25 分)(最短路条数)
As an emergency rescue team leader of a city, you are given a special map of your country. The map shows several scattered cities connected by some roads. Amount of rescue teams in each city and the l...原创 2019-06-24 17:05:35 · 116 阅读 · 0 评论 -
L2-013 红色警报 (25 分)(并查集)
战争中保持各个城市间的连通性非常重要。本题要求你编写一个报警程序,当失去一个城市导致国家被分裂为多个无法连通的区域时,就发出红色警报。注意:若该国本来就不完全连通,是分裂的k个区域,而失去一个城市并不改变其他城市之间的连通性,则不要发出警报。输入格式:输入在第一行给出两个整数N(0 < N ≤ 500)和M(≤ 5000),分别为城市个数(于是默认城市从0到N-1编号)和连接两城市的通路...原创 2019-07-19 11:40:46 · 460 阅读 · 0 评论 -
线段树模板&&树状数组模板
书上的和网上的不一样,这个快一些,书上的不全,改了一点了。#include<stdio.h>#include<string.h>#include<math.h>#define maxn 105int a[maxn],ans;struct node{ int l,r,value,add;}tree[maxn];void build(int v,i...原创 2019-07-21 18:32:20 · 362 阅读 · 0 评论 -
P1080 国王游戏 题解(高精度乘除+贪心)
P1080 国王游戏 题解题目描述恰逢 HH国国庆,国王邀请nn 位大臣来玩一个有奖游戏。首先,他让每个大臣在左、右手上面分别写下一个整数,国王自己也在左、右手上各写一个整数。然后,让这 nn 位大臣排成一排,国王站在队伍的最前面。排好队后,所有的大臣都会获得国王奖赏的若干金币,每位大臣获得的金币数分别是:排在该大臣前面的所有人的左手上的数的乘积除以他自己右手上的数,然后向下取整得到的结果。...原创 2019-10-05 22:48:32 · 1230 阅读 · 1 评论 -
公路村村通 && 畅通工程之最低成本建设问题&P1265 公路修建(生成最小树)
公路村村通畅通工程之最低成本建设问题两题是一样的,就是不满足条件的时候输出的不一样。现有村落间道路的统计数据表中,列出了有可能建设成标准公路的若干条道路的成本,求使每个村落都有公路连通所需要的最低成本。输入格式:输入数据包括城镇数目正整数N(≤1000)和候选道路数目M(≤3N);随后的M行对应M条道路,每行给出3个正整数,分别是该条道路直接连通的两个城镇的编号以及该道路改建的预算成本。...原创 2019-06-02 08:06:30 · 1129 阅读 · 0 评论 -
邻接矩阵存储图的深度优先遍历 邻接表存储图的广度优先遍历 详解
邻接矩阵存储图的深度优先遍历试实现邻接矩阵存储图的深度优先遍历。函数接口定义:void DFS( MGraph Graph, Vertex V, void (*Visit)(Vertex) );其中MGraph是邻接矩阵存储的图,定义如下:typedef struct GNode PtrToGNode;struct GNode{int Nv; / 顶点数 /int Ne; / ...原创 2019-05-31 11:51:34 · 15138 阅读 · 0 评论 -
L2-020 功夫传人 (25 分)(dfs)
一门武功能否传承久远并被发扬光大,是要看缘分的。一般来说,师傅传授给徒弟的武功总要打个折扣,于是越往后传,弟子们的功夫就越弱…… 直到某一支的某一代突然出现一个天分特别高的弟子(或者是吃到了灵丹、挖到了特别的秘笈),会将功夫的威力一下子放大N倍 —— 我们称这种弟子为“得道者”。这里我们来考察某一位祖师爷门下的徒子徒孙家谱:假设家谱中的每个人只有1位师傅(除了祖师爷没有师傅);每位师傅可以带很多...原创 2019-05-12 09:17:54 · 169 阅读 · 0 评论 -
【PTA】复数的四则运算
本题要求编写程序,计算2个复数的和、差、积、商。输入格式:输入在一行中按照a1 b1 a2 b2的格式给出2个复数C1=a1+b1i和C2=a2+b2i的实部和虚部。题目保证C2不为0。输出格式:分别在4行中按照(a1+b1i) 运算符 (a2+b2i) = 结果的格式顺序输出2个复数的和、差、积、商,数字精确到小数点后1位。如果结果的实部或者虚部为0,则不输出。如果结果为0,则输出0.0...原创 2019-03-21 08:10:20 · 7017 阅读 · 7 评论 -
大数相乘
算法提高 P1001当两个比较大的整数相乘时,可能会出现数据溢出的情形。为避免溢出,可以采用字符串的方法来实现两个大数之间的乘法。具体来说,首先以字符串的形式输入两个整数,每个整数的长度不会超过8位,然后把它们相乘的结果存储在另一个字符串当中(长度不会超过16位),最后把这个字符串打印出来。例如,假设用户输入为:62773417和12345678,则输出结果为:774980393241726....原创 2019-03-21 08:10:47 · 565 阅读 · 0 评论 -
整除光棍
这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。 现在,你的程序要读入一个整数x,这个整数一定是奇数并且不以5结尾。然后,经过计算,输出两个数字:第一个数字s,表示x乘以s是一个光棍,第二个数字n是这个光棍的位数。这样的解当然不是唯一的,题目要求你输出最小的解。...原创 2019-03-20 18:18:19 · 123 阅读 · 0 评论 -
螺旋方阵
所谓“螺旋方阵”,是指对任意给定的N,将1到N×N的数字从左上角第1个格子开始,按顺时针螺旋方向顺序填入N×N的方阵里。本题要求构造这样的螺旋方阵。输入格式:输入在一行中给出一个正整数N(<10)。输出格式:输出N×N的螺旋方阵。每行N个数字,每个数字占3位。输入样例:5输出样例:1 2 3 4 516 17 18 19 615 24 25 20 714 2...原创 2019-03-20 18:15:54 · 568 阅读 · 0 评论 -
约瑟夫问题
#include<stdio.h>int main(){ int i,s=0,n,m; scanf("%d %d",&n,&m); for(i=2;i<=n;i++){ s=(s+m)%i; printf("%d ",s); } printf("%d",s+1); return 0;}/*1群猴子要选新猴王。新猴王的选择方法是:让N只候...原创 2019-03-20 18:12:39 · 96 阅读 · 0 评论 -
判断一点是否在三角形内(含边框和不含边框)
含边框#include <stdio.h> #include <math.h>double f(int x1,int y1,int x2,int y2,int x3,int y3){ return fabs(0.5*(x1*y2+x2*y3+x3*y1-x1*y3-x2*y1-x3*y2));//三角形计算公式 }int main(void) { ...原创 2019-03-20 18:04:31 · 302 阅读 · 0 评论 -
说反话 加强版
pta 说反话 加强版给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过500 000的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用若干个空格分开。输出格式:每个测试用例的输出占一行,输出倒序后的句子,并且保证单词间只有1个空格。输入样例:Hello Worl...原创 2019-03-20 17:52:26 · 717 阅读 · 0 评论 -
n除m的第k为小数
#include<stdio.h>#include<math.h>int main(){ int n,m; int a,b,c,s,k,i; while(~scanf("%d %d %d",&n,&m,&k)){ /* printf("%f ",(double)n/m); printf("%d/%d=%...原创 2019-03-20 17:48:42 · 226 阅读 · 0 评论 -
大数相除
1017 A除以B (20 分)本题要求计算 A/B,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数。你需要输出商数 Q 和余数 R,使得 A=B×Q+R 成立。输入格式:输入在一行中依次给出 A 和 B,中间以 1 空格分隔。输出格式:在一行中依次输出 Q 和 R,中间以 1 空格分隔。输入样例:123456789050987654321 7输出样例:1763...原创 2019-03-21 10:59:27 · 246 阅读 · 0 评论 -
线性表元素的区间删除
给定一个顺序存储的线性表,请设计一个函数删除所有值大于min而且小于max的元素。删除后表中剩余元素保持顺序存储,并且相对位置不能改变。函数接口定义:List Delete( List L, ElementType minD, ElementType maxD );其中List结构定义如下:typedef int Position;typedef struct LNode List;s...原创 2019-04-05 15:56:25 · 797 阅读 · 1 评论 -
L2-031 深入虎穴 (25 分)(dfs)
著名的王牌间谍 007 需要执行一次任务,获取敌方的机密情报。已知情报藏在一个地下迷宫里,迷宫只有一个入口,里面有很多条通路,每条路通向一扇门。每一扇门背后或者是一个房间,或者又有很多条路,同样是每条路通向一扇门…… 他的手里有一张表格,是其他间谍帮他收集到的情报,他们记下了每扇门的编号,以及这扇门背后的每一条通路所到达的门的编号。007 发现不存在两条路通向同一扇门。内线告诉他,情报就藏在迷宫...原创 2019-05-10 11:52:40 · 629 阅读 · 0 评论 -
Math Problem
链接:https://ac.nowcoder.com/acm/contest/893/C?&headNav=acm来源:牛客网已知整数除192的余数是1。求区间[L,R]之间满足条件的a的累加和是多少?第一行是一个整数T(1≤T≤10000),表示样例的个数。每个样例包含两个整数L,R,1≤L≤R≤109。输出描述:每行输出一个样例的结果。输出11 10输出1#...原创 2019-05-05 18:26:07 · 544 阅读 · 0 评论 -
求数列中不相邻的数的最大和
链接:https://ac.nowcoder.com/acm/contest/558/I来源:牛客网题目描述小猫在研究序列。小猫在研究选择。给定一个长度为N的序列a1,a2,…,aN,请你在这N个元素中选出一些(可以不选,可以全选),使得对于任意1≤i<N,ai与ai+1不被同时选,求选出的数的和最大是多少。输入描述:第一行一个正整数T,表示数据组数。每组数据的第一行一个正整数N...原创 2019-04-23 20:43:40 · 1452 阅读 · 0 评论 -
【PTA】还原二叉树 && 根据后序和中序遍历输出先序遍历&&树的遍历
给定一棵二叉树的先序遍历序列和中序遍历序列,要求计算该二叉树的高度。输入格式:输入首先给出正整数N(≤50),为树中结点总数。下面两行先后给出先序和中序遍历序列,均是长度为N的不包含重复英文字母(区别大小写)的字符串。输出格式:输出为一个整数,即该二叉树的高度。输入样例:9ABDFGHIECFDHGIBEAC输出样例:5#include<stdio.h>#inc...原创 2019-04-23 20:12:37 · 2149 阅读 · 0 评论 -
数列求和-加强版
给定某数字A(1≤A≤9)以及非负整数N(0≤N≤100000),求数列之和S=A+AA+AAA+⋯+AA⋯A(N个A)。例如A=1, N=3时,S=1+11+111=123。输入格式:输入数字A与非负整数N。输出格式:输出其N项数列之和S的值。输入样例:1 3输出样例:123以前不会写,今天看看有思路了,这个方法应该是比较简单的了#include<stdio.h>...原创 2019-05-02 16:14:45 · 602 阅读 · 1 评论 -
表达式转换(中缀表达式转为后缀表达式)
算术表达式有前缀表示法、中缀表示法和后缀表示法等形式。日常使用的算术表达式是采用中缀表示法,即二元运算符位于两个运算数中间。请设计程序将中缀表达式转换为后缀表达式。输入格式:输入在一行中给出不含空格的中缀表达式,可包含+、-、*、\以及左右括号(),表达式不超过20个字符。输出格式:在一行中输出转换后的后缀表达式,要求不同对象(运算数、运算符号)之间以空格分隔,但结尾不得有多余空格。输入...原创 2019-04-17 13:10:19 · 4498 阅读 · 5 评论 -
带头结点的链式表操作集
本题要求实现带头结点的链式表操作集。函数接口定义:List MakeEmpty();Position Find( List L, ElementType X );bool Insert( List L, ElementType X, Position P );bool Delete( List L, Position P );其中List结构定义如下:typedef struct L...原创 2019-04-07 10:17:11 · 495 阅读 · 0 评论