摘要: 我们可以以下面的文法为例子进行算符优先分析: E→E+T|T T→T*F|F F→(E)|i FIRSTVT和LASTVT的构建 首先我们要通过文法规则来产生相应的FIRSTVT和LASTVT集,具体的构建规则如下: FIRSTVT: 若出现 E→a... 或 E→Aa 的情况,则 a∈FIRSTV 阅读全文
posted @ 2019-05-29 22:00 Sunrise_1018 阅读(4554) 评论(0) 推荐(0) 编辑
摘要: 在今天的opengl的课程以及实验中,我们学习了如何使用顶点数组的方法来绘制图形,但相信还有很多同学对它的实际使用方法不太了解,我们就用我们今天实验课上的实例来简单讲解一下 题目及要求 绘制一个正六面体,正面以填充方式绘制,背面以轮廓线的形式绘制,坐标自拟 思路解析 首先,我们需要定义一个数组,用来 阅读全文
posted @ 2018-11-26 21:35 Sunrise_1018 阅读(2506) 评论(0) 推荐(2) 编辑
摘要: 快速排序是一种高效且使用广泛的排序算法,在很多语言的标准库中自带的排序都是快速排序,所以我们也有必要了解快排的原理以及其实现方法。 快排的大致思想 快速排序实现的重点在于数组的拆分,通常我们将数组的第一个元素定义为比较元素,然后将数组中小于比较元素的数放到左边,将大于比较元素的放到右边, 这样我们就 阅读全文
posted @ 2018-11-23 21:43 Sunrise_1018 阅读(35281) 评论(3) 推荐(2) 编辑
摘要: 在近期的学习中,我们学习了泛型及泛型集合的概念和使用,泛型是c#中的一个重要概念,为了巩固我们学习的成果,我们可以使用一个实例来进行练习 题目及要求 要求使用Windows窗体应用程序,制作出如上图的界面,并实现增删改查的功能 StuInfo类的编写 同往常一样,在编写窗体的代码前,我们需要先编写一 阅读全文
posted @ 2018-11-21 21:18 Sunrise_1018 阅读(41327) 评论(21) 推荐(6) 编辑
摘要: 在我们之前的算法设计课程中,我们学习了合并排序与自底向上合并排序算法,今天我们就来分析一下这个算法 合并算法 无论是合并排序还是自底向上合并排序,他的实现都基于一个重要的算法:合并算法(merge算法)。Merge算法实现的功能是将两个数组合并成为一个数组,我们可以定义一个结果数组b,再分别定义两个 阅读全文
posted @ 2018-11-13 19:00 Sunrise_1018 阅读(3105) 评论(0) 推荐(1) 编辑
摘要: 1. 题目及要求 2. Avg.cs 在直接编写窗口程序之前,我们需要创建一个Avg类,我们可以在类库中编辑,也可以像java一样直接在项目中新建类。 有关类库的创建与连接方法,我们在上一次的《C#四则运算器(多态方法实现)》中已经详细讲述过,这里就不再赘述,我这里是直接项目中新建类编写的 Avg. 阅读全文
posted @ 2018-11-09 19:32 Sunrise_1018 阅读(2475) 评论(0) 推荐(0) 编辑
摘要: 在上一节C#课上,我们学习了用类的继承的方式来做一个四则运算器,然而老师的代码在课上演示的效果并不理想,而且没有使用多态的思想实现,今天我们就来用多态的方式实现四则运算器。 1. 题目及要求 2. Arithmetic类的实现 在实现Arithmetic类之前,我们需要一个类库,类库的创建方法如下: 阅读全文
posted @ 2018-11-09 19:29 Sunrise_1018 阅读(3060) 评论(0) 推荐(1) 编辑
摘要: 在上周的算法设计课程中,我们学习了UNION-FIND算法,该算法用来对不相交集进行查询与合并操作,但任何优秀的算法都必须要用实际的代码来进行实现,接下来我们就来看看具体的代码实现 1. 不相关集数据结构的存储方式 一般来说,对于一个不相关集A = {1, 2, ..., n} 来说,我们使用两个长 阅读全文
posted @ 2018-11-09 19:26 Sunrise_1018 阅读(530) 评论(0) 推荐(0) 编辑
摘要: 在上节的算法设计课堂上,我们学习了寻找多数元素的算法,这个算法相对于我们以前学习的算法比较不好理解,今天就让我们来看看这个算法 1.思路解析 1.1多数元素定义 多数元素表示在一个数组中出现次数最多,并且出现次数 > 数组总长度的一半的元素。例如数组a = {1,7,5,5,5,5,5,4},数组总 阅读全文
posted @ 2018-11-01 22:17 Sunrise_1018 阅读(6658) 评论(0) 推荐(1) 编辑
摘要: 在上星期的算法设计课程的学习中,我们学习了两种全排列算法,该算法用于求出数组{1,2,3,...,n}的所有可能的排列,今天我们就来看看这个算法的具体代码实现。 1. 第一种算法 第一种算法和我们现实生活中习惯的方法较为相似,以{1,2,3}为例,我们先写出第一种排列123,然后将2与3交换,得到1 阅读全文
posted @ 2018-10-29 20:24 Sunrise_1018 阅读(10670) 评论(2) 推荐(2) 编辑