自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 多线程

一、相关概念1. 并发、并行并发:多个事件在同一个时间段内发生。并行:多个时间在同一时刻发生(同时发生)。2. 进程、线程、多线程在介绍进程前,先得知道什么是程序:程序:指令和数据的有序集合,其本身没有运行的含义,是一个静态概念。进程:进程是执行程序的一次执行过程,它是一个动态概念。进程是系统进行资源分配和调度的基本单位。线程:线程是进程中的一个执行单元,负责当前进程中程序的执行。一个进程中可以包含若干个线程,当然一个进程中至少有一个线程,不然没有存在的意义。线程是CPU调度和执行的

2021-01-07 22:46:22 268 2

原创 三大查找算法解析

一、线性查找二、二分查找三、斐波那契查找

2020-05-30 11:06:26 821 1

原创 七大排序算法详解

一、选择排序二、插入排序三、冒泡排序四、快速排序五、希尔排序六、归并排序七、堆排序

2020-05-18 21:51:53 527

原创 数据库实验

一、表、索引、视图的创建实验题目:数据定义实验目和要求:掌握数据表的创建,修改,删除的方法熟悉常用数据类型掌握索引的创建,删除。通过实验理解唯一索引,聚簇索引掌握视图的概念,视图的创建和删除掌握利用视图进行数据查询的方法实验步骤:按实验内容要求完成各项操作根据题目要求给出解决方案提交实验报告实验内容:数据表的建立建立s,c,sc三章数据表,并给每个属性定义合适数据类型,声明主外码CREATE TABLE Student( Sno CHAR(9) PRIMA

2020-05-13 17:43:28 3598

原创 第十章——>判断系统故障发生时,哪些事务需要重做、回滚操作

【解答】4.(1)故障发生时,T1、T3已经提交,T2已经回滚,T4未完成,所以回复时T1、T3要重做,T4撤销,T2因为故障发生前已经回滚(所做所有操作撤销,恢复原值),相当于T2没有发生,所以就不需要处理了。(2)同理可得:T1重做,T3回滚(3)T1重做,T2、T3回滚(4)T1重做,T2回滚5.(1)A=8,B=7,C=11(2)A=10,B=0,C=11(3)A=1...

2020-05-07 09:27:58 7342 3

原创 最大子段和问题

给定n个整数(可能为负整数)a1,a2,a3……an.求形如 ai,a(i+1),……,aj i,j=1,……n,i<=j的子段和的最大值。当所有的整数均为负整数的时候定义其最大子段和为0,例如:当(a1,a2,a3,a4,a5,a6)=(-2,11,-4,13,-5,-2)时,最大子段和为 i=2,j=4(下标从1开始)。一、枚...

2020-04-29 08:51:58 953

原创 背包问题

一、无利润背包问题+枚举法解决题目:小明有一只能装10千克的背包,现有白菜一颗5千克,猪肉一块2千克,酱油1.7千克,一条鱼3.5千克,白糖一袋1千克,菜油一桶5.1千克,请编写一个算法,设计小明的背包所装东西的总重量最重。思路分析:题目只是要求包的最终总重量最大,并没有限定选取物品的件数,但备选物品数固定,所以可以直接对这些物品进行枚举。对于任意一种物品,只有“选”与“不选”两种情况,...

2020-04-27 11:39:44 989

原创 贪心算法——>解决埃及分数、数列极差问题

一、算法的描述从问题的某一个初始解出发逐步逼近给定的目标,每一步都作一个不可回溯的决策,尽可能地求得最好的解。当达到某算法中的某一步不需要再继续前进时,算法停止。二、算法的设计思想首先贪婪算法的原理是通过局部最优来达到全局最优,采用的是逐步构造最优解的方法。在每个阶段,都作出一个看上去最优的(在一定的标准下),决策一旦作出,就不可再更改。用贪婪算法只能解决通过局部最优的策略能达到全局最优的问...

2020-04-26 10:28:36 1943

原创 图的广度优先搜索和深度优先搜索

一、思想概述图的广度优先搜索和深度优先搜索与树的广度优先搜索和深度优先搜索相似,对于树来说,广度优先遍历就是按照树的层结构(逐层搜索)来搜索遍历,而树的深度优先遍历则是按照树高(树的深度)来遍历的。图的广度优先遍历(BFS) : 从图的某一结点出发,首先依次访问该结点的所有邻接顶点Vi1, Vi2, …, Vin,再依次访问与 Vi1, Vi2, …, Vin相邻接的所有未被访问的顶点,重复...

2020-04-25 10:37:16 700

原创 第七章——>概念设计结构

某医院病房管理系统有四个实体:科室:科名,科地址,电话病房:病房号,病房地址医生:编号,姓名,职称,年龄病人:病历号,姓名,性别有以下语义:① 一个科室有多个病房,多个医生,一个病房属于一个科室,一个医生属于一个科室② 一个医生负责多位病人,一个病人的主管医生只有一位③ 一个病房可以入住多个病人,一个病人只能住在一个病房完成此系统的ER模型。设计图书管理系统,读者包括读者号...

2020-04-22 12:01:53 1684 1

原创 第六章——>模式分解

在某个数据库中,有关系模式sc(sno,iname,ilocal,cno,ctitle,grade)其中sno为学号,iname为教师名,ilocal为教师住址,cno为课程号,ctitle为课程名,grade为成绩。有以下语义:1)每个学生可以选修多门课程,每门课程可以有多名学生选修,每个学生选修一门课程获得一个成绩2)每个教师有唯一的一个住址3)每门课程有唯一课程号4)每个教师可以讲...

2020-04-22 11:58:18 989

原创 回溯算法——>8皇后问题

一、算法的描述回溯算法实际是一个类似枚举的搜索尝试方法,它的主题思想是在搜索尝试中找问题的解,当不满足求解条件就”回溯”返回,尝试别的路径。回溯算法是尝试搜索算法中最为基本的一种算法,其采用了一种“走不通就掉头”的思想,作为其控制结构。二、算法的设计思想回溯法是在包含问题的所有解的解空间树中。按照深度优先的策略,从根结点出发搜索解空间树,算法搜索至解空间树的任一结点时,总是先判断该结点是否满...

2020-04-21 21:34:54 391

原创 第六章——>如何求关系模式候选码、判断关系模式属于第几范式、求最小覆盖集Fm

1:求关系模式候选码的方法设关系模式R中的属性集U=ABC…,有N个属性,判断U中属性在FD中出现的位置(1)左右出现;(2)只在左部出现;(3)只在右部出现;(4)不出现;方法:按以下几步来求候选键1.只在FD右部出现的属性,不属于候选码;2.只在FD左部出现的属性,一定存在于任何候选码当中;3.两边均不出现的属性一定存在于任何候选码当中;4.其他属性逐个与2,3的属性组合,...

2020-04-20 16:29:43 12756 3

原创 (高级篇)第六章:关系数据理论

1.设关系模式R(U,F),U={E,G,H,I,J},F={E->I , J->I , I->G , GH->I , IH->E},判断关系R属于第几范式?Ø 关系模式R的候选码为: JH Ø 码属性集为{H,J},非码属性集{E,G,I}Ø 存在非主属性对码的部分依赖J->I所以R(U,F)属于1NF2.设关系模式R(A,B,C,D),F=...

2020-04-19 21:27:05 1426 1

原创 动态规划算法——>数塔的求解、资源分配问题

一、算法的说明动态规划主要针对优化问题。所谓规划就是“比较全面的长远的计划”。在动规的算法策略中,它体现在他的决策不是线性的,而是全面考虑各种不同的情况再分别进行决策,最后通过多阶段决策逐步找出问题的最终解。当各个阶段采取决策后,会不断决策出新的数据,直到找到最优解为止。每次的决策又依赖于当前的状态,又随即引起状态的转移。一个决策序列就是在变化的状态中产生出来的。所以,这种多阶段的最优化决策解决...

2020-04-19 21:21:08 1503

原创 分治算法——>分金块、求残缺棋盘问题

一、分治算法的介绍将整个问题分解成若干个小问题后分而治之。如果分解得到的子问题相对来说还太大,则可反复使用分治策略将这些子问题分成更小的同类型子问题,直至产生出方便求解的子问题,必要时逐步合并这些子问题的解,从而得到问题的解。有时问题分解后,不必求解所有的子问题,也就不必作第三步的操作。比如折半查找,在判别出问题的解在某一个子问题中后,其它的子问题就不必求解了,问题的解就是最后(最小)的子问题的...

2020-04-18 16:09:56 2212

原创 第五章:数据库完整性

CREATE TABLE 职工( 职工号 NUMBER (9) , CONSTRAINT C1 PRIMARY KEY(职工号), 姓名 CHAR(20), 年龄 SMALLINT, CONSTRAINT C2 CHECK(年龄 <= 60), 职务 CHAR(8), 工资 NUMBER(9), 部门号 NUMBER(20), ...

2020-04-17 10:30:27 191

原创 信息的数字化

一、警察抓小偷问题1.问题描述警察局抓了a,b,c,d四名偷窃嫌疑犯,其中只有一人是小偷。审问中a说:“我不是小偷。”b说:“c是小偷。”c说:“小偷肯定是d。”d说:“c在冤枉人。”现在已经知道四个人中三人说的是真话,一人说的是假话,问到底谁是小偷?2.思路分析将a,b,c,d将四个人进行编号,号码分别为1,2,3,4。则问题可用枚举尝试法来解决。用变量x存放小偷的编号,则x...

2020-04-17 10:24:58 1026

原创 第四章——>数据库安全性

第6题(1)GRANT ALL PRIVILEGES ON TABLE 学生,班级 TO U1 WITH GRANT OPTION;(2) GRANT SELECT,UPDATE(家庭住址)ON TABLE 学生TO U2;(3)GRANT SELECT ON TABLE 班级TO PUBLIC;(4)CREATE ROLE R1; ...

2020-04-16 11:10:03 218

原创 日期类

下面列出了Java中用来处理时间日期的相关类,主要有Date、Calendar、DateFormat和SimpleDateFormat。其中,Date类可以代表当前时间和某个指定的时间,它提供了相关的方法用于对时间进行各种处理,但由于Date类不便于实现国际化,自从JDK1.1之后就逐渐被Calendar取代。Calendar是一个抽象类,它提供了可以将以毫秒为单位的时间转化为有用的分量的方法。...

2020-04-15 18:04:55 149

原创 数组使信息有序化

当题目中的数据缺乏规律时,很难把重复的工作抽象成循环不变式来完成,但先用数组结构存储这些地信息后,问题就迎刃而解。一、编写算法将数字编号翻译成英文编号1.问题描述例:将35706“翻译”成 英文编号three-five-seven-zero-six。2.思路分析(1)思路一1) 编号一般位数较多,可按长整型输入和存储。2) 将英文的“zero——nine”存储在数组中,对应下标为0—...

2020-04-15 12:04:32 452

原创 第三章:SQL——>视图操作

对于以下关系模式:Teacher(tno , tname ,tage,tsex,title)project(pno,pname, tno,classify)work(tno,pno,pt)其中teacher为教师关系,tno为教师编号,tname为教师名,tage为年龄tsex为性别,title为教师的职称;project为项目关系,pno为项目号,pname为项目名,tno为负责人教师...

2020-04-14 13:45:16 448

原创 用数组来存储信息

一、统计选票信息1.题目描述某次选举,要从五个候选人(编号分别为1、2、3、4、5)中选一名厂长。请编程完成统计选票的工作。2.算法思路(1)虽然选票发放的数量一般是已知的,但收回的数量通常是无法预知的,所以算法采用随机循环,设计停止标志为“-1”。(2)统计过程的一般方法为:先为五个候选人各自设置五个“计数器”S1,S2,S3,S4,S5,然后根据录入数据通过多分支语句或嵌套条件语句决...

2020-04-14 13:40:57 2230

原创 找出n个自然数(1,2,3……n)中取r个数的组合

一、题目描述找出n个自然数(1,2,3……n)中取r个数的组合。例如:当n=5,r=3时,所有组合为;1 2 31 2 41 2 51 3 41 3 51 ...

2020-04-13 12:53:42 5858

原创 第三章:SQL——>集合查询与数据更新

对于以下关系模式:Teacher(tno , tname ,tage,tsex,title)project(pno,pname, tno,classify)work(tno,pno,pt)其中teacher为教师关系,tno为教师编号,tname为教师名,tage为年龄tsex为性别,title为教师的职称;project为项目关系,pno为项目号pname为项目名,tno为负责人教师编...

2020-04-12 17:07:27 245

原创 任何一个正整数都可以用2的幂次方表示:137=2^7+2^3+2^0

一、题目描述例如: 137=27+23+20,同时约定几次方用括号来表示,即ab可表示为a(b),由此可知,137可表示为: 2(7)+2(3)+2(0),进一步: 7=22+2+20 (2^1用2表示) 3=2+2^0.所以最后137可表示为:2(2(2)+2+2(0))+2(2+2(0))+2(0).又如: 1315=2^ 10+28+25+2+1.所以1315最后可表示为:2(2(2...

2020-04-12 17:04:47 9332

原创 第三章:SQL——>多表查询

对于以下关系模式:Teacher(tno , tname ,tage,tsex,title)project(pno,pname, tno,classify)work(tno,pno,pt)其中teacher为教师关系,tno为教师编号,tname为教师名,tage为年龄tsex为性别,title为教师的职称;project为项目关系,pno为项目号pname为项目名,tno为负责人教师编...

2020-04-11 15:59:24 995

原创 第三章:SQL——>基本表的定义、删除与修改

对于以下关系模式:Teacher(tno ,tname ,tage,tsex,title)project(pno,pname, tno,classify)work(tno,pno,pt)其中teacher为教师关系,tno为教师编号,tname为教师名,tage为年龄tsex为性别,title为教师的职称;project为项目关系,pno为项目号pname为项目名,tno为负责人教师编...

2020-04-11 15:55:43 909

原创 (基础篇)第二章:关系数据库——>关系代数的运算

设有一个SPJ数据库,包括S、P、J、SPJ 四个关系模式:S(SNO, SNAME, STATUS, CITY);P(PNO, PNAME, COLOR, WEIGHT);J(JNO, JNAME, CITY);SPJ(SNO, PNO, JNO,QTY);试用关系代数完成下列查询:1)求供应工程J1零件的供应商号SNO;πSNO (σJNO=‘J1’(SPJ))2)求供应工程J...

2020-04-11 15:53:43 3133

原创 递归算法及用递归求解整数的分划问题

一、递归的概念递归(recursion)是一个过程或函数在其定义或说明中又直接或间接调用自身的一种方法。一般为了处理重复性的操作,都采用递归的办法来实现。二、递归算法设计递归算法设计,就是把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题.在逐步求解小问题后,再返回(回溯)得到大问题的解。递归算法只需少量的步骤就可描述出解题过程所需要的多次重复计算,大大地减少了算法的代码量。...

2020-04-11 15:49:12 1069

原创 求一个矩阵的鞍点,即在行上最小、列上最大的点

一、算法的设计针对n*n的矩阵进行设计,操作逐行进行,在第一行找到最小值并记录其列号,然后验证它是否为所在列的最大值,如果是的话,则找到了问题的解;如果不是的话,找第二行的最小值,再进行判断…以此类推。1. 顶层算法for(i=0;i<n;i=i+1) {找第i行上最小的元素t及所在列minj; 检验t是否第minj列的最大值,是则输出这个鞍点;}2. 找到第i行...

2020-04-10 21:53:55 2208 2

原创 用分治算法求一组数中的最大值、最小值问题

一、求一个最大值、最小值1.解题思路(1)将数据等分为两组(两组数据可能差1),目的是分别选取其中的最大(小)值。(2)递归分解直到每组元素的个数≤2,可简单地找到最大(小)值。 (3)回溯时,在分解的两组解中大者取大,小者取小,合并为当前问题的解。2.算法的伪代码描述float a[n];maxmin (int i, int j ,float &fmax, float ...

2020-04-09 11:00:37 5007

原创 进制转换——>十进制数转二进制数

1.十进制数转二进制数代码描述:#include <stdio.h>int main(){ int i, j = 0, n; int a[20]; scanf("%d", &n); if (n == 0) printf("0\n"); while (n) { a[j] = n % 2; ...

2020-04-08 14:03:04 401

原创 进制转换:十进制数转十六进制数

进制转换:十进制数转十六进制数问题描述十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E。  给出一个非负整数,将它表示成十六进制的形...

2020-04-07 09:21:46 490

原创 根据参数n打印具有下面规律的图形

编写算法:根据参数n打印具有下面规律的图形,当n=4时,图形如下:问题分析思路一:容易发现图形中数据排列的规律从1—最大数,通过循环,直接输出 printf是按照从左至右、从上至下的顺序;若想直接输出,只有找出公式,循环计算得到序列:1-\n-5-2-\n-8-6-3-\n-10-9-7-4. (\n表换行)思路二:先用一个数组按此顺序存储数据,再正常输出;...

2020-04-06 11:40:28 1786

原创 用分治算法求一组数的和

1.解题思路(1)将这组数等分为两组(两组数的个数可能差1),分别求这两组数的和;(2)递归分解直到每组数的元素个数<=2,可简单解决两个数以内的和问题;(3)递归出口:如果只有一个数,则直接返回这个数。2.伪代码描述getsum(a,i,j){ if i==j then { return a[i];} else if i==j-1 then { retu...

2020-04-05 09:01:05 3943

原创 求1/1!-1/3!+1/5!-1/7!+…+(-1)n+1/(2n-1)!(-1的n+1次方)

求1/1!-1/3!+1/5!-1/7!+…+(-1)n+1/(2n-1)!(-1的n+1次方)一、普通的思路——循环的嵌套1. 问题分析此问题中既有累加又有累乘,准确的说累加的对象是累乘的结果。2. 所要构造的数学模型:3. 算法的设计:(伪代码描述)main( ){int i,n,j,sign=1;float s,t=1;input(n);s=1;for(i=2...

2020-04-04 13:09:49 2172

原创 回文数及回文字符串的判断

一、回文数1.非递归算法(1)解题思路把目标数n赋给另一个变量s1,然后将s1的高位逐个变为低位(也就相当于把数s1打个颠倒),再判断调整完顺序之后的(s1调到之后为s2)s2值与最初的n的值进行比较,看是否相等,相等的话即为回文数,反之则不是回文数。(2)源程序#include <stdio.h>#include <stdlib.h>void main(...

2020-04-03 11:21:49 1163

原创 两种形式的乘式还原

形式一:1. 思路分析:(1)定义一个数组a[4],数组里面存放的值为2,3,5,7;依次对每位数进行穷举,将数组里面的数赋给每位数;利用穷举所求出的值可推算出乘式的第四、第五、最后一行的数字;(2)求出各数后加一个判断条件:判断所求的数是否满足各位为2或3或5或7,因为数太多,所以构造一个子函数用于做判断条件;(3)按题中所给的乘式的形式输出相应的数字。2. 源代码:#incl...

2020-04-02 14:47:17 855 2

原创 求这样的两位数:5位数=2*4位数(9位数字各不相同)

解法一:枚举法(暴力穷举)#include<stdio.h>int main(){ int c, d, e, f, g, h, i, j, k, n2, n3; for (c = 1; c < 10; c++) { for (d = 0; d < 10; d++) ...

2020-04-01 20:51:36 786

空空如也

空空如也

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

TA关注的人

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