摘要:
那么 今天会展开一个新的模块:软件设计的基本原理 其模块的主要特点是: 1.模块化 模块在程序中是数据说明可执行语句等程序对象的集合,或者是单独命名和编址的元素,如高级语言中的过程、函数、子程序等。 模块具有以下基本属性: 接口:指模块的输入与输出 功能:指模块要实现的功能 逻辑:描述内部如何实现要 阅读全文
摘要:
编译的前端与后端 概念上我们有时候把编译程序分成编译前端和编译后端。 编译前端 前端主要由源语言有关但与目标机无关的那些部分组成,通常包括词法分析、语法分析、语义分析与中间代码的产生,有的代码优化工作也可以包括在前端。 编译后端 后端包括编译程序中与目标机有关的那些部分,如与目标机有关的代码优化和目 阅读全文
摘要:
今天主要是相关编译原理的理论知识的总结,首先,先有几个问题来引出: 什么是翻译程序? 翻译程序:是一种程序,其输入是某种语言的一系列语句,而其输出则是另一种语言的一系列语句,二者在逻辑上是等价的。就类似生活中的翻译官一样,把英语翻译成汉语,二者在意思上也是等价的。 什么是翻译程序? 编译程序:是一种 阅读全文
摘要:
二叉树的补充: 线索二叉树: 1.引入线索二叉树 二叉树的遍历实质上是对一个非线性结构实现线性化的过程,使每一个节点(除第一个和最后一个外)在这些线性序列中有且仅有一个直接前驱和直接后继。但在二叉链表存储结构中,只能找到一个节点的左、右孩子信息,而不能直接得到节点在任一遍历序列中的前驱和后继信息。这 阅读全文
摘要:
上一次的排序补充 : 归并排序: 归并排序是利用递归和分而治之的技术将数据序列划分成为越来越小的半子表,再对半子表排序,最后再用递归步骤将排好序的半子表合并成为越来越大的有序序列,归并排序包括两个步骤,分别为: 1)划分子表 2)合并半子表 首先我们来讨论归并算法,归并算法将一系列数据放到一个向量中 阅读全文
摘要:
简单选择排序: 设所排序序列的记录个数为n。i取1,2,…,n-1,从所有n-i+1个记录(R,R[i+1],…,R[n]中找出排序码最小的记录,与第i个记录交换。执行n-1趟 后就完成了记录序列的排序。 代码如下: public void SimpleSelect() 简单选择排序: 设所排序序列 阅读全文
摘要:
如何在MySQL中设置外键约束以及外键的作用 1.外键的作用,主要有两个: 一个是让数据库自己通过外键来保证数据的完整性和一致性 一个就是能够增加ER图的可读性 2.外键的配置 1)先创建一个主表,代码如下: #创建表student,并添加各种约束 create table student ( id 阅读全文
摘要:
函数依赖 在数据库中,关系模式中的属性值之间会发生联系。譬如每个学生只有一个姓名,每门课程只能有一个任课老师。这类联系就称为函数依赖(functional dependency,简记为FD)。 X→Y,读作X函数决定Y,即知道了X的值就可以确定Y的值了,比如说:你知道了一个学生的学号,那么就可以确定 阅读全文
摘要:
一、基础操作 1、 数据库表的创建 create table student( int primary key auto_increment, name varchar(20) unique, age int ) 2、表的相关约束 primary key (非空并且唯一):能够唯一区分当前记录的字段 阅读全文
摘要:
嗯mm 现在到算法阶段了,比较多的代码,建议有时间自己在电脑上敲一下,加深理解。 那么,现在以问题来带入: 1、什么是拓朴排序? 对一个有向无环图进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边(u,v)∈E(G),则u在线性序列中出现在v之前。 一个网应该是一个有向 阅读全文