自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数据库设计基本步骤

数据库设计的基本步骤按照规范设计的方法,考虑 数据库 及其应用系统开发全过程,将数据库设计分为以下6个阶段1.需求分析2.概念结构设计3.逻辑结构设计4.物理结构设计5.数据库实施6.数据库的运行和维护数据库设计 通常分为6个阶段1( 需求分析 :分析用户的需求,包括数据、功能和性能需求;2概念结构设计:主要采用E-R模型进行设计,包括画 E-R图 ;3 逻辑结构设计 :通过将 E-R图 转换成表,实现从E-R模型到 关系模型 的转换;4 数据库物理设计 :主要是为所设计的数据库选择合适的

2021-10-22 11:27:45 1713

原创 小理解:面向对象分析与设计

在创建一个应用软件系统前,必须进行充分的分析,即明确所要解决的问题是什么。例如,开发一个图书信息管理系统软件,这个系统要实现什么样的功能?这就是一个分析问题。设计强调的是问题的逻辑解决方案,即系统怎样才能达到要求。例如,图书信息管理系统如何实现远程查询?设计最终可以用硬件或软件方法来实现。面向对象的分析与设计的精髓是按照对象的观点考虑问题域和逻辑解决方案。分析旨在发现并描述问题域中的对象。例如,在图书馆信息系统中,这些对象包括图书、借阅者、图书管理员等。设计的重点在于定义逻辑软件对象,这些对象(具有属

2021-10-20 17:54:08 553 1

原创 C++ 程序设计的多文件结构

 为了将函数方便地移植到多个程序应用中,可以将通用的函数和类制作成单独的文件。当在程序中需要用到这些通用的函数和类时,直接包含该文件,就可以方便地调用 多文件结构是指由多个文件组成的工程文件,其中一个源程序文件中包含main函数。还要制作子文件,将自定义的函数封装成为一个源文件(.cpp),将函数声明封装成为一个头文件(.h),头文件中除了函数声明以外,还可以包括常量定义、类型声明等等步骤:(1)创建一个控制台工程文件(2)创建一个.h头文件,输入相应代码并保存;创建对应的.cpp文件(文件名一般与

2021-10-17 20:47:09 2845

原创 动态分配内存和以指针声明数组

动态分配内存和释放  int* a = (int )malloc(numbersizeof(int)); free(a);  向malloc申请空间的大小是以字节为单位的,返回的结果是void *,要转化为需要的类型指针表示数组  以二维数组为例/* 以二重指针创建二维数组 */#include <iostream>#include <stdlib.h>using namespace std;int main(void){ int ** p=(int **)m

2021-10-17 12:17:26 118

原创 C语言指针

指针是一个值为内存地址的变量(或数据对象)指针的用途非常广泛,比如如果你想通过函数改变一个变量的值,就得用指针而不能用值传递。或者想要通过一个函数返回多个值时,显然无法通过return做到,此时,可以利用到指针的址传递的特性。还有在很多时候变量,特别是对象的数据量实在太大(如数组和自定义数组),程序员就会用指针来做形参,只需要传递一个地址就行,大大提高了效率。简单地说指针就是指向变量和对象的地址。声明指针int * pi;解析:int 类型说明符表明了所指向对象的类型,星号()表明声明的变量为一个

2021-10-17 11:41:33 211

原创 VS 2017 调试程序

程序调试非常重要,可以说,不会调试的人永远不会编程 通过程序调试,可以检查代码并且验证它们是否能够正常地运行,从而发现编译过程中所不能捕获的错误 设置断点 使用断点,可以告知调试器在某个特定的点上暂时挂起程序的执行。此时,程序的运行处于中断模式。这种模式并不是终止或结束程序的执行,而是在任何时候都能根据调试情况确定是否需要继续执行。 在中断模式下,可以检查变量的状态,还可以更改变量值以人为地控制程序的执行过程。 具体操作时,右击需要设置断点的语句,在弹出的快捷菜单中选择“断点” -> “插

2021-10-08 17:52:02 412

原创 代码书写风格 和 代码格式化

存在如下所示的三种代码书写风格if(x<0){ if(x<0) if(x<0) f = -1; { {}else if(x==0){ f = -1 ; f = -1; f = 0; }else if(x==0) }}else{ ..

2021-10-08 11:39:40 140

原创 VS 和 Eclipse 常用快捷键

VS ①文件之间切换 Ctrl+Tab ②新建文件 Ctrl + N  新建项目 Ctrl + shift + N ③替換 Ctrl + H  查找 Ctrl + F ④查找和替換 Ctrl + shift + H ⑤加 -> 减注释块 Ctrl + K + Ctrl +C -> Ctrl + K + Ctrl + UEclipse ①新建 alt + shift + N ②逐个 查找/替换 Ctrl + F ④全局显示 查找 Ctrl + H ⑤加、减注释块 Ctrl +

2021-10-08 11:05:11 255

原创 Java Date类

format

2021-10-01 15:26:37 82

原创 String 和 Date、其他基本类型的转换问题 [ C++、JAVA、ASP.NET(C#) ]

Oracle提供的单行函数有两个比较重要的函数to_date和to_char,通过案例掌握用法:to_char用法1.语法:to_char(日期,'日期格式‘)2.作用:将日期通过指定格式进行字符串转换,转换成字符串类型3.案例:1.//将当前系统时间转换成(yyyy-mm-dd hh:mi:ss day)格式。select to_char(sysdate , 'yyyy-mm-dd hh:mi:ss day') from dual;12把hiredate列看做是员工的生日,查询本月过

2021-10-01 11:22:01 196

原创 缓冲区 ( buffer )

一、什么是缓冲区   缓冲区又称为缓存,它是内存空间的一部分。也就是说,在内存空间中预留了一定的存储空间,这些存储空间用来缓冲输入或输出的数据,这部分预留的空间就叫做缓冲区。   缓冲区根据其对应的是输入设备还是输出设备,分为输入缓冲区和输出缓冲区。 二、为什么要引入缓冲区   我们为什么要引入缓冲区呢?   比如我们从磁盘里取信息,我们先把读出的数据放在缓冲区,计算机再直接从缓冲区中取数据,等缓冲区的数据取完后再去磁盘中读取,这样就可以减少磁盘的读写次数,再加上计算机对缓冲区的操作大大快于对磁盘的操作,故

2021-09-29 21:25:20 1211

原创 url 格式详解

URL

2021-09-29 20:35:26 4730

原创 sql 语句中 group 的一个重要原则

group by 有一个原则,就是 select 后面的所有列中,没有使用聚合函数的列,必须出现在 group by 后面(重要)例如,有如下数据库表:A B1 abc1 bcd1 asdfg如果有如下查询语句(该语句是错误的,原因见前面的原则)select A,B from table group by A该查询语句的意图是想得到如下结果(当然只是一相情愿)A Babc1 bcdasdfg右边3条如何变成一条,所以需要用到聚合函数,如下(下

2021-09-29 19:54:51 271

原创 sql && DDL 和 DML 区别

DML和DDL是什么DML(data manipulation language):数据操作语言。SQL (结构化查询语言)是用于执行查询的语法。但是 SQL 语言也包含用于更新、插入和删除记录的语法。查询和更新指令构成了 SQL 的 DML 部分:SELECT - 从数据库表中获取数据UPDATE - 更新数据库表中的数据DELETE - 从数据库表中删除数据INSERT INTO - 向数据库表中插入数据DDL(data definition language):数据定义语言。SQ

2021-09-29 17:58:40 762

原创 Java 中有关 this 和 super

this关键字主要有三个应用:① this调用本类中的属性,也就是类中的成员变量② this调用本类中的其他成员方法③ this调用本类中的其他构造方法,调用时要放在构造方法的首行!!!调用成员变量/* this 调用成员变量实例 */public class Student{ String name; private void SetName(String name) { this.name = name; /*.

2021-09-20 22:03:01 80

原创 最小生成树、最短路径等图问题解法

图的应用①②③④⑤ ⑥⑦⑧⑨⑩一、【最小生成树】 在 n 个城市之间,选择建造 n-1 条线路,使得总的耗费最少;各边代价和最小的那棵生成树称为该连通网的最小代价生成树,简称最小生成树普利姆算法(加点法) 假设 N = (V,E) 是连通网,TE 是最小生成树中边的集合① U = {u0}(u0∈ V),TE = { }② 在所有 u ∈ V,v ∈ V - U 的边中找一条权值最小的边(u0,v0) 并入集合 TE 中,同时 v0 并入 U③ 重复 ② ,直至 U = V 为止【实

2021-09-20 16:14:41 428

原创 DFS 和 BFS

①②③④⑤ ⑥⑦⑧⑨⑩深度优先搜索(DFS)深度优先搜索的过程 深度优先搜索( Depth First Search,DFS )遍历类似于树的先序遍历,是树的先序遍历推广对于一个连通图①从图中的某个顶点 v 出发,访问 v②找出刚访问过的顶点的第一个未被访问的邻接点,访问该顶点;以该顶点为新顶点,重复此步骤,直到刚访问的顶点没有未被访问的邻接点为止③返回前一个访问过的且仍有未被访问的邻接点的顶点,找出该顶点的下一个未被访问的邻接点,访问该顶点④重复步骤 ②、③,直到图中的所有顶点都被访.

2021-09-12 20:35:20 71

原创 数据结构丿丶图

图①②③④⑤ ⑥⑦⑧⑨⑩一、【图】图是一种比线性表和树更为复杂的数据结构;在线性表中,数据元素之间仅存在线性关系,每个而数据元素只有一个直接前驱和一个直接后继;在树形结构中,数据元素之间有着明显的层次关系,并且每一层中的数据元素可能和下一层的多个元素相关但只能和上一层中的一个元素相关;而在图结构中,结点之间的关系可以是任意的,任意两个数据元素之间都可能相关图(Graph) G 由两个集合 V 和 E 组成,即为 G = ( V,E),其中 V 是顶点的有穷非空集, E 是边的有穷集合。有向

2021-09-12 15:41:16 218

原创 二叉搜索树 & 二叉平衡树 & 二叉平衡树的调整

①②③④⑤ ⑥⑦⑧⑨⑩二叉搜索树二叉搜索树(BST,Binary Search Tree)也称二叉排序树或二叉查找树①非空左子树的所有键值小于其根结点的键值②非空右子树的所有键值大于其根结点的键值③左、右子树都是二叉搜索树二叉搜索树的查找操作:Find[1]首先从根结点开始,如果树为空,返回 NULL[2]若树非空,则根结点关键字和 X 比较: ①若 X 小于根结点键值,只需在左子树中继续搜索 ②若 X 大于根结点键值,只需在右子树中继续搜索 ③若二者比较结果相等,搜索完成,返

2021-09-08 14:34:28 364

原创 数据结构丿丶树 && 哈夫曼树

树和二叉树①②③④⑤ ⑥⑦⑧⑨⑩一、【树】树是 n 个结点的有限集,它为空树或非空树,对于非空树 T: ①有且仅有一个称之为根的结点 ②除根结点之外的其余结点可分为 m 个互不相交的有限集 T1, T2…Tm,其中每个集合本身又是一棵树,并且称之为根的字数(SubTree)树的基本术语 ①结点的度:结点拥有的子树个数成为结点的度 ②树的度:树内各结点度的最大值 ③层次:结点的层次从根开始定义起,根为第一层,根的孩子为第二层,任一结点的层次为其双亲结点的层次加 1 ④树的深度:

2021-09-04 12:52:44 189

原创 为什么有了线性表,还需要有堆栈和队列

空间复杂度问题为什么能用先行白哦,还需要有栈和队列等数据结构

2021-08-27 23:29:02 389

原创 有头结点和无头结点链表

头结点概念 首先,单链表是由表头指针所唯一确定的,因此,单链表可以用头指针的名字来命名,若头指针名为 L,则称该链表为表 L 首元结点是指链表中存储第一个数据元素的结点 头结点是在首元结点之前设的一个结点,其 next 指针指向首元结点,其据域可以不存储任何信息。 但头指针永远指向的是链表中第一个结点的指针,有头结点则指向头结点,无则指向首元结点。头指针不可变,要遍历链表应另设结点指针 增加了头结点后,首元结点的地址保存在头结点的指针域中,则对链表的第一个数据元素的操作(插入、删除)与其他的数据

2021-08-23 20:48:32 1636

原创 常用 字体、颜色集

5

2021-08-22 21:01:59 1165

原创 链表的存在意义

顺序表和单链表有头结点和无头结点博客

2021-08-22 15:37:32 471

原创 数据结构丿丶队列

队列队列和堆栈一样,也是一种具有一定操作约束的线性表,只允许在一端插入而在另一端删除*顺序存储struct QNode {ElementType Data[MAXSIZE]; / 存储元素的数组 /int front; / 队列的头指针 /int rear; / 队列的尾指针 /};typedef struct QNode Queue;循环队列,为防止队列为空和队列已满不好区分,只需允许队列存放n-1个数,front指针指向第一个元素的前一个位置,尾指针指向最后一个元素建队

2021-08-21 11:33:48 142

原创 数据结构丿丶堆栈

堆栈堆栈是具有一定操作约束的线性表,是一种特殊的线性表,只能在一端(即栈顶Top)做插入、删除,具有先入后出的特点。其中插入为入栈push,删除为出栈pop。主要应用:计算表达式,中缀和后缀表达式*顺序存储struct SNode {ElementType Data[maxsize]; / 存储元素的数组 /int Top; / 栈顶元素下标,empty时为-1 /};typedef struct SNode Stack;建栈Stack CreateStack( int Ma

2021-08-21 11:27:11 139

原创 数据结构丿丶线性表

线性表线性表是由同类型数据元素构成有序序列的线性结构应用:多项式的表示,图书管理系统顺序存储:*struct LNode{ElemType Data[MAXSIZE]; //ElemType 可以是预先定义的struct类型int last; //指示最后一个元素的下标};typedef struct LNode List; //指向结构的指针struct LNode L;List PtrL;初始化List MakeEmpty(){List PtrL;PtrL=(List

2021-08-21 11:24:59 263

空空如也

空空如也

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

TA关注的人

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