摘要:
在操作系统理论中有一个非常重要的概念叫做P,V原语。在研究进程互斥时常引入这个概念,将P,V操作方法与加锁的方法相比较,来解决进程间的互斥问题。实际上,它的应用范围很广,不但可以解决进程管理当中的互斥问题,还可以利用此方法解决进程同步与进程通信的问题。 P,V原语理论:阐述P,V原语的理论不得不提到的一个人便是赫赫有名的荷兰科学家E.W.Dijkstra。如果你对这位科学家没有什么印象的话,提起解决图论中最短路径问题的Dijkstra算法应当是我们再熟悉不过的了。P,V原语的概念以及P,V操作当中需要使用到的信号量的概念都是由他在1965年提出的。 信号量是最早出现的用来解决进程同步与互... 阅读全文
摘要:
费马四平方数猜想指出,任意自然数都可以分解成不超过四个完全平方数的和,eg:144 = 122 ,14 = 12 + 22 + 32 现在给出自然数N(N ≤ 60000),希望知道N最少可以分解成多少个完全平方数。 思路(动态规划):(1) 第一次循环找出本身为完全平方数的那些数,标记为 1; (2) 第二个循环把由两个平方数之和,三个平方数之和的那些数标记为 2 、3,没标记那部分由 4 个平方数组成#include <iostream>using namespace std;int main(){ const int arr_size = 60001; int s[arr_. 阅读全文
摘要:
1. 视图视图是虚拟的表。与包含数据的表不一样,视图只包含使用时动态检索数据的查询(即:包含一个SQL查询),仅仅是用来查看存储在别处的数据的一种设施。视图基本操作:(1)创建:CREATE VIEW;(2)查看:SHOW CREATEVIEW viewname;(3)删除:DROP VIEW viewname;(4)更新:CREATE OR REPLACE VIEW。视图可以嵌套,但不能索引,也不能有关联的触发器或默认值。并非所有视图都是可更新的,如果MySQL不能正确确定被更新的基数据,则不允许更新(包括插入和删除)。视图不能更新的情况:(1)分组,使用GROUP BY和HAVING;(2 阅读全文
摘要:
1. CrashCourse 2. MySQL基本操作 阅读全文
摘要:
MySQL数据库引擎取决于MySQL在安装的时候是如何被编译的。要添加一个新的引擎,就必须重新编译MYSQL。在缺省情况下,MYSQL支持三个引擎:ISAM、MYISAM和HEAP。另外两种类型INNODB和BERKLEY(BDB),也常常可以使用。如果技术高超,还可以使用MySQL++ API自己做一个引擎。下面介绍几种数据库引擎: ISAM:ISAM是一个定义明确且历经时间考验的数据表格管理方法,它在设计之时就考虑到数据库被查询的次数要远大于更新的次数。因此,ISAM执行读取操作的速度很快,而且不占用大量的内存和存储资源。ISAM的两个主要不足之处在于,它不支持事务处理,也不能够容错:如. 阅读全文