3 笑看风声

尚未进行身份认证

Bug就像黎明前的黑暗,只要坚持,总能看到黎明。

等级
TA的排名 7w+

设计模式:观察者模式(Observer Pattern)

观察者模式(Observer Pattern)情景:在许多设计中,经常会涉及多个对象都对一个对象中的数据变化感兴趣,而且这多个对象希望跟踪这个对象的变化。观察者模式包含了四种角色:主题(Subject):主题是一个接口,该接口规定了具体主题需要实现的方法,比如,添加,删除观察者以及通知观察者数据跟新的方法观察者(Observer):观察者是一个接口,该接口规定了具体观察者用来更新数...

2020-02-18 23:04:19

设计模式:命令模式 Command Pattern

命令模式包括四种角色:接收者(Receiver):接收者是一个类的实例,该实例负责执行与请求相关的操作。命令(Command)接口:命令是一个接口,规定了用来封装请求的若干个方法。具体命令(ConcreteCommand):具体命令是实现命令接口的实例。请求者(Invoker):请求者是一个包含Command接口变量的类的实例。请求者中的Command接口的变量可以存放任何具体命令...

2020-02-18 21:00:11

数据库系统原理-读书笔记:范式

范式:目前存在六种范式,其之间的关系为:5NF4NFBCNF3NF2NF1NF如图所示关系:第一范式(1NF):若一个关系模式R的所有属性都是不可分的基本数据项,则R1NF。在任何一个关系数据库系统中,第一范式是对关系模式最基本的要求。不满足第一范式的数据库模式不能称为关系数据库。但是满足第一范式的关系模式并不一定是一个好的关系模式。例如,关系模式SLC(Sno...

2020-02-18 00:45:32

SQL实战50例:MySQL查询语句练习

一、学生-课程数据库中包括三个表:1,学生表Student由学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、所在系(Sdept)五个属性所组成,可记为Student(Sno,Sname,Ssex,Sage,Sdept) ,Sno为主码。课程表Course由课程号(Cno)、课程名、先修课号、学分4个属性组成,可记为:Course(Cno,Cname,Cpno...

2020-02-17 18:01:56

SQL学习笔记(二)

文中所操作的数据库表如下:SQL AND & OR 运算符:用法示例:ORDER BY 多列:按order by 后的字段顺序进行排列。UPDATE 语句中的 WHERE 子句:如果省略了where后面的条件,则所有记录将会被更新。LIMIT子句:...

2020-02-16 20:51:55

数据库系统原理-读书笔记:数据模型 完整性约束 三级模式与两级映像

数据模型:目前常用的数据模型有层次模型,网状模型和关系模型。其中层次模型和网状模型统称为非关系模型,现已逐渐被关系模型取代。关系数据模型的操纵与完整性约束:关系数据模型的操纵主要包括查询、插入、删除和更新数据,这些操作必须遵循三大完整性约束,分别为:参照完整性:要求关系中不允许引用不存在的实体用户自定义完整性:针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须...

2020-02-15 20:07:26

MYSQL学习笔记

一、启动数据库命令:net start mysql 二、登录本机的 MySQL 数据库:mysql -u root -p登录后会有如下提示,并进入mysql命令行界面exit;命令退出查询数据库信息的一些命令://使用数据库use 数据库名;//列出 MySQL 数据库管理系统的数据库列表show databases;//显示指定数据库的所有表sho...

2020-02-14 23:24:32

内部排序:直接插入排序、选择排序、冒泡排序、希尔排序、快速排序、堆排序、归并排序代码实现(C语言)

#include<stdio.h>#include<stdlib.h>#include<math.h>//直接插入排序//排序思想:从第二个元素开始,寻找合适的位置存放该元素,一趟排完 void DinsertSort(int array[],int n){ for(int i=1;i<n;i++){//从1开始 int temp=a...

2020-02-13 21:24:41

平衡二叉树:平衡二叉树的插入操作实现(C语言)

平衡二叉树:为了避免二叉排序树高度增长过快,降低二叉排序树的性能,所以有了平衡二叉树。规定任意结点的左右子树高度差绝对值不超过1,这样的二叉树称为平衡二叉树实现代码:#include<stdio.h>#include<stdlib.h>#include<string.h>//平衡二叉树的结构体typedef struct BBTree{...

2020-02-11 17:35:49

二叉排序树基本操作的实现:建立二叉排序树,插入删除数据(C语言)

#include<stdio.h>#include<stdlib.h>#include<string.h>typedef struct BTree{ int date; BTree *lchild; BTree *rchild;}BTree;//插入数据 int BSTInsert(BTree *&p,int key){ if...

2020-02-10 15:34:28

图:在邻接矩阵上实现拓扑排序(C语言)

拓扑排序:用于排列事件发生的顺序,也可判断图中是否有环。代码实现:#include<stdio.h>#include<stdlib.h>#define MaxVexNum 50#define MaxInt 32767#define MaxEdgeNum 50//邻接矩阵typedef int VertexType;typedef int Edge...

2020-02-09 14:39:17

串:KMP算法及改进的实现(C语言)

#include<stdio.h>#include<stdlib.h>#include<string.h>#define MaxSize 50typedef struct Str{ char ch[MaxSize+1]; int length;}Str;//KMP算法void getNext(Str substr,int next[]){...

2020-02-09 14:31:20

最短路径:Dijkstra算法(求单源最短路径)Floyd算法(求各顶点之间最短路径)

最短路径:在一个带权图中,顶点V0到图中任意一个顶点Vi的一条路径所经过边上的权值之和,定义为该路径的带权路径长度,把带权路径最短的那条路径称为最短路径。DiskStra算法:求单源最短路径,即求一个顶点到任意顶点的最短路径,其时间复杂度为O(V*V)如图所示:求顶点0到各顶点之间的最短路径代码实现:#include<stdio.h>#include&l...

2020-02-06 23:48:07

最小生成树:Prim算法 Kruskal算法 代码实现(C语言)

最小生成树:对于一个带权连通无向图G=(V,E),生成树不同,每棵树的权(即树中所有边上的权值之和)可能不同,设R为生成树G的所有生成树的集合,若T为R中边的权值之和最小的那颗生成树,则T成为G的最小生成树。Prim算法:根据顶点来求最小生成树,时间复杂度为O(V*V),不依赖于(|E|),所以适用于边稠密的图Kruskal算法:按权值递增的顺序依次选择合适的边生成最小生成树。复杂...

2020-02-06 17:30:17

邻接表(图)基本操作:建立无向图、有向图 深度优先遍历 广度优先遍历 代码实现(C语言)

邻接表存储结构:创建有(无)向图,深度优先遍历,广度优先遍历代码实现:#include<stdio.h>#include<stdlib.h>#include<string.h>#define MaxVertexNum 100 #define MaxSize 10 //顶点数目的最大值 bool visitedBFS[MaxVertex...

2020-02-06 17:05:47

邻接矩阵(图)基本操作:建立无向图、有向图 代码实现(C语言)

邻接矩阵存储结构:创建无向图、有向图:#include<stdio.h>#include<stdlib.h>#define MaxVexNum 100#define MaxInt 32767//邻接矩阵typedef int VertexType;typedef int EdgeType;typedef struct AMGraph{ Verte...

2020-02-03 22:34:58

图的存储结构:邻接矩阵 邻接表 十字链表 邻接多重表

邻接矩阵存储:用一个一维数组存储图中顶点的信息,用一个二维数组存储边的信息,存储顶点之间的邻接关系的二维数组称为邻接矩阵。typedef char VertexType;//顶点数据类型typedef int EdgeType;//带权图中边上权值的数据类型typedef struct { VertexType Vex[MaxVertexNum];//顶点表 EdgeType ...

2020-02-02 23:16:52

由序列确定二叉树:前序序列和中序序列构造二叉树 后序序列和中序序列构造二叉树 层次遍历序列和中序遍历序列构造二叉树 代码实现(c语言)

下面三种序列可以唯一的构造唯一的一棵二叉树:前序序列和中序序列构造二叉树 后序序列和中序序列构造二叉树层次遍历序列和中序遍历序列构造二叉树#include<stdio.h>#include<stdlib.h>#include<string.h>#include<math.h>#define MaxSize 10typ...

2020-02-01 17:03:57

二叉树的 深度遍历:递归遍历和非递归遍历 广度遍历:(层次遍历)(c语言)

二叉树递归遍历代码:#include<stdio.h>#include<stdlib.h>#define MaxSize 10//二叉树的链式存储结构 typedef struct BiTNode{ int data; struct BiTNode *lchild,*rchild;}BiTNode,*BiTree; void InitBiTre...

2020-01-29 23:28:33

栈的应用:中缀表达式计算 中缀表达式转后缀表达式(逆波兰式)中缀表达式转前缀表达式(波兰式) 后缀表达式计算 前缀表达式计算(c语言)

#include<stdio.h>#include<stdlib.h>#include<string.h>#include<math.h>#define Min 1e-8#define maxSize 10 int priority(char p){ if(p=='+'||p=='-'){ return 0; }else{ ...

2020-01-27 15:28:04

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。