自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (2)
  • 收藏
  • 关注

原创 Linux和windows下多线程的区别

Linux和windows对于多线程的多线程的实现是不同的。总体来说,Linux系统下,是用户级的多线程,也就是说内核是并不清楚多线程的存在的;而windows下则是核心级别的线程,内核可以直接对于线程进行管理。 具体来说,Linux只是用一个叫做“运行时系统”完成对于多线程的管控。Linux没有一个直接对于多线程可以管理的数据结构,他只能对于多线程上一层的进程,...

2020-02-26 22:48:27 3509

原创 面向对象的程序设计特点

面向对象的程序设计特点主要有四个:抽象、封装、继承、多态。1. 抽象:首先在面向对象的程序设计中,每一种事物都可以成为“对象”。那么一个对象可以有多个特点,比如人有身高,体重等等。把一个事物对象的特点概括表示出来的过程叫做抽象。比如员工对象的薪水,上班时间,绩效考考核等等。2. 封装:在完成抽象之后,把静态属性和动态属性归为一个整体,那么这个步骤叫做封装。通过封装,一个对象的属性和操作这些...

2020-02-25 22:55:56 8438

原创 词法分析 有穷自动机

1. 有穷自动机的概念: 有穷自动机(FA)是词法分析的重要理论基础。系统根据自己的有穷状态和离散的输入信息决定系统的后序行为。每处理一个输入,系统内部状态也可能发生改变。 其转换图表示法如下所示: 其中start指向的表示初始态,箭头上面的表示输入,有向边就是变化,圆圈内...

2020-02-24 13:39:10 2683

原创 编译原理 语法分析树和二义性文法

语法分析树是用来描述语法中句子结构的一种树,它能够动态表示一个句子推导的过程。 我们来看一个例子:由左边的文法规则可知,这是一个实现加法减法和乘法的算术表达式。从开始符号E开始,逐步推导,E => - E,然后 E => (E)等等,最终推导成E => - (E + E...

2020-02-22 16:19:47 4654

原创 编译原理 推导和归约

1. 推导 我们还是从一个英文句子来入手: 从上面一张图,我们看出文法是如何 推导 出一个英文句子的。从上往下看,从句子开始,句子可以被替换成<名词短语><动词短语>。而<名词短语>又可以被替换成<形容词><名词短语>。对于文法中的每一个产生式,都可以把左部替换成右部。这样一步一步递推,就把一个文法...

2020-02-22 14:50:38 5693 1

原创 编译原理 文法

什么是文法?我们从一个自然语言的例子讲起: 这是一个简化版本的英文文法。比如一个句子是由名词短语和动词短语构成的。名词短语由形容词和名词短语构成。从这个例子中我们能够看出语法的基本构成。用尖括号括起来的部分是语法成分,而没有被尖括号括起来的部分是语言的基本符号。英文的基本符号就是单词了。那么编译语言的文法形式化定义是...

2020-02-22 14:33:30 1103

原创 语法制导定义 SDD

语法制导定义SDD是对于 上下文无关语法CFG的一个推广:将每个产生式和一组语义规则相关联,用来计算该文法产生式中每个文法符号的属性值。 将每个文法符号和一个语义属性集合相关联。 问法符号的属性包括:综合属性和继承属性。 所谓综合属性,指的是:分析数节点N上的非终结符A的综合属性只能通过N的子节点或者N本身的属性决定。 ...

2020-02-20 16:11:28 4448

原创 上下文无关问法cfg

上下文无关文法(contextfree grammar,简称为CFG)是形式问法的一种,和其对应的语言是上下文无关语言。所谓上下文无关,如果用我们的语言举例,就是一个文法符号,不论在任何地方出现,他表示的意思都是不变的,不会随着上下文的语义为改变。 首先我们看一下形式文法:形式文法描述形式语言的基本想法是,从一个特殊的初始符号出发,不断的应用一些产生式规则,从而...

2020-02-20 12:05:00 1579 2

原创 c++ 数据结构之 线段树

线段树是一种数据结构,是一种二叉树。线段树将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。线段树对于区间求和等区间操作能够实现复杂度为O(logn)的操作,故得以广泛利用。修改一个值的操作也是O(logn)。 线段树是建立在线段基础上,每个结点都代表了一条线段[a,b]。长度为1的线段称为元线段。非元线段都有两个子结点,左结点代表的线段为[a,...

2020-02-17 20:12:59 1769

原创 字符串 kmp算法解析

kmp算法是用于解析字符串匹配的问题。给定两个字符串:第一个是文本串str,第二个是匹配串p。问str中最早有那个位置能完全和匹配串p匹配呢?1. 暴力匹配假设文本串的长度为n,匹配串的长度为m. 那么显然有一种暴力解法是:int match(string str, string p){ int i = 0; int j = 0; while (i < str.size(...

2020-02-03 13:41:53 410

原创 C++简单实现 前缀树

今天在leetcode上面看了一道题(第208题),问题是如何实现一个字符串前缀树,能够实现字符串的插入,查找和查找前缀功能。在这里记录一下前缀树的实现:class Trie {public: /** Initialize your data structure here. */ Trie() { isEnd = false; for (int i = 0; i < 26...

2020-02-01 19:54:44 523

精通Qt4编程

是给不方便买纸质书的同学的电子版阅读。完整且清晰,方便自学。

2017-10-17

C++ GUI Qt 4编程(第二版)

给不方便购买纸质书的同学们的电子版,完整且清晰,便于自学。

2017-10-17

空空如也

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

TA关注的人

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