随笔分类 -  课程

摘要:从汇编语言的角度, 把 处理器子系统 抽象为 寄存器 把 存储器子系统 抽象为 存储器地址 把 i/o子系统 抽象为 输入输出地址 阅读全文
posted @ 2019-04-15 22:33 赵钱富贵 阅读(190) 评论(0) 推荐(0)
摘要:是一个五元组,M=(S,∑,f,S0,F) S:有穷状态集 ∑:输入字母表(有穷) f:f(S,α)=S' 表示从一个状态S出发,识别了一个字α后,可以到达S'这个状态集合之间的某一个状态(可能的后继有多个,也可能木有) S0:非空初态集 F:终态集(可空) 阅读全文
posted @ 2019-04-15 20:57 赵钱富贵 阅读(1065) 评论(0) 推荐(0)
摘要:是一个五元组 M=(S,∑,f,S0,F) 其中 S:有穷状态集 ∑:输入字母表(有穷) f:状态转换函数。f(S,a)=S' 是单值部分映射,每个状态面临一个输入符号时,转入的后继状态是确定的。 S0∈S:唯一初态 F∈S:终态集(可空) 阅读全文
posted @ 2019-04-15 20:06 赵钱富贵
摘要:一、对于给定的字母表∑ (1)ε和∅是∑上的正规式,它们的正规集为{ε}和∅ (2)任何a∈∑,a是∑上的正规式,它所表示的正规集为{a} (3)假定e1和e2都是∑上的正规式,则 ①(e1|e2)为正规式,它所表示的正规集为L(e1)∪L(e2) ②(e1·e2)为正规式,它所表示的正规集为L(e 阅读全文
posted @ 2019-04-15 15:48 赵钱富贵 阅读(6192) 评论(0) 推荐(0)
摘要:1.设文法G2(S): S->AB A->aA|a B->bB|b G2(S)产生的语言是什么? 解:L(G2)={ambn|m,n≥1} 2.请给出产生语言为{anbn|n≥1}的文法 解:G3(S): S->ab|aSb 3.上下文无关文法 一个四元数组G=(VN,VT,S,P) VN:非空有限 阅读全文
posted @ 2019-04-14 17:27 赵钱富贵 阅读(5660) 评论(0) 推荐(0)
摘要:假定G是一个文法,S是它的开始符号,如果 * S => α 则称α是一个句型; 仅含终结符的句型是一个句子; 文法G所产生的句子的全体是一个语言,记为L(G)。 阅读全文
posted @ 2019-04-14 17:10 赵钱富贵 阅读(4324) 评论(0) 推荐(1)
摘要:以行优先顺序存储的三维数组A[m][n][k], 其中元素A[0][0][0]的地址为a, 且每个元素占b个字节, 则A[x][y][z]的地址为 a+(x*n*k+y*k+z)*b, 将m,n,k,视为z,y,x轴 , 阅读全文
posted @ 2019-04-14 10:58 赵钱富贵 阅读(2027) 评论(0) 推荐(0)
摘要:分为编译程序(compiler)和解释程序(interpreter) 编译程序:把源程序(高级语言编写)转换成目标程序(汇编语言或机器语言编写)。 解释程序:对源程序边翻译边执行。 编译型语言 优点:效率高,占用资源少。 缺点:复杂,可移植性差。 解释型语言 优点:简单易读,跨平台性强 缺点:效率低 阅读全文
posted @ 2019-04-13 18:08 赵钱富贵 阅读(1081) 评论(0) 推荐(0)
摘要:#define MaxSize 100 class SeqList{ private: int a[MaxSize]; int length; public: SeqList(){ length=0; } int insert(int i,int x); int del(int i); int re 阅读全文
posted @ 2019-03-25 13:32 赵钱富贵 阅读(127) 评论(0) 推荐(0)
摘要:using namespace std; struct LNode{ char data; LNode *next; }; class LinkList{ private: LNode *head; public: LNode *createLinkListHead();//头插法创建 LNode 阅读全文
posted @ 2019-03-24 19:14 赵钱富贵 阅读(207) 评论(0) 推荐(0)
摘要:四种文法的判断就是规定产生式左边和右边的字符组成规则不同而已。 从0型到3型,其限制条件越来越多。 判断时从最复杂的3型进行判断,若不符合,依次向下。 ✔3型文法(正规文法或右线性文法) A->α或A->αB ①左边有且仅有一个非终结符。 ②右边有一个或两个字符。 若有一个字符,是终结符; 若有两个 阅读全文
posted @ 2019-03-23 17:50 赵钱富贵 阅读(921) 评论(0) 推荐(0)
摘要:void swap(int *a,int *b){ int temp=*a; *a=*b; *b=temp; } void quickSort(int *a,int left,int right){ if(left>right) return; int temp=a[left]; int i=left; int j=right; while(i!=j){ while... 阅读全文
posted @ 2019-03-22 17:31 赵钱富贵 阅读(157) 评论(0) 推荐(0)
摘要:void merge1(int *a,int left,int mid,int right){ int n1=mid-left+1; int n2=right-mid; int *arr1=new int[n1]; int *arr2=new int[n2]; for(int i=0;i<n1;i++) arr1[i]=a[left+i]; for(int i=0;i<n2;i+... 阅读全文
posted @ 2019-03-22 10:16 赵钱富贵 阅读(273) 评论(0) 推荐(0)
摘要:void swap(int *a,int *b){ int temp=*a; *a=*b; *b=temp; } void BubbleSort(int *a,int length){ for(int i=0;ia[j+1]) swap(a+j,a+j+1); } } } 阅读全文
posted @ 2019-03-21 22:36 赵钱富贵 阅读(95) 评论(0) 推荐(0)
摘要:常用的内部排序方法有:交换排序(冒泡排序、快速排序)、选择排序(简单选择排序、堆排序)、插入排序(直接插入排序、希尔排序)、归并排序、基数排序(一关键字、多关键字)。 一、冒泡排序: 1.基本思想: 两两比较待排序数据元素的大小,发现两个数据元素的次序相反时即进行交换,直到没有反序的数据元素为止。 阅读全文
posted @ 2019-03-20 12:41 赵钱富贵 阅读(958) 评论(0) 推荐(1)
摘要:void swap(int *a,int *b){ int temp=*a; *a=*b; *b=temp; } void selectSort(int *a,int n){ for(int i=0;i<n-1;i++){ int min=i; for(int j=i+1;j<n;j++){ if( 阅读全文
posted @ 2019-03-20 12:15 赵钱富贵 阅读(105) 评论(0) 推荐(0)
摘要:void insertionSort(int *a,int n){ for(int i=1;i=0&&a[j]>key){ a[j+1]=a[j]; j--; } a[j+1]=key; } } 阅读全文
posted @ 2019-03-20 08:20 赵钱富贵 阅读(70) 评论(0) 推荐(0)
摘要:void ShellSort(int *a,int length){ int gap=length/2; while(gap>=1){ //插入排序思想 gap替换1 for(int i=gap;i=0&&a[j]>temp){ a[j+gap]=a[j]; j=j-gap; } a[j+gap]=temp; } gap... 阅读全文
posted @ 2019-03-15 17:31 赵钱富贵 阅读(90) 评论(0) 推荐(0)