05 2017 档案

摘要:算符优先分析文法 一、写在前面 算符优先分析文法是一种工具,在编译的过程中,隶属于语法分析环节,却又与中间代码的生成息息相关,编译可以分为五个阶段:词法分析、语法分析、语义分析(中间代码的生成)、代码优化、目标代码生成。语法分析是指:在词法分析基础上,将单词符号串转化为语法单位(语法范畴)(短语、子 阅读全文
posted @ 2017-05-22 11:56 精心出精品 阅读(42310) 评论(8) 推荐(41)
摘要:词法分析器实现 一、写在前面 编译原理是软件工程的一项基础的课程,是研究软件是什么,为什么可以运行,以及怎么运行的学科,编译系统的改进将会直接对其上层的应用程序的执行效率,执行原理产生深刻的影响。编译原理的目的是将源语言翻译成目标语言。与翻译的区别就是,编译将高级语言编译成低级语言。至于达到什么样的 阅读全文
posted @ 2017-05-21 21:21 精心出精品 阅读(118545) 评论(22) 推荐(91)
摘要:至此,关于数据结构和算法的探讨先告一段落。算法和数据结构的精髓部分是非常瑰丽的,有着很多的变体和表现形式,在本系列里,我只是带着大家稍微领略一二罢了,就像是捡拾沙滩上面的石子,惊叹于大自然造物的神奇,至于大自然到底有多么的博大深远,就需要大家慢慢的体会和欣赏了,作为领路人,我的任务已经完成!!! 阅读全文
posted @ 2017-05-21 13:37 精心出精品 阅读(524) 评论(0) 推荐(0)
摘要:Hash函数是非常重要的一种工具,很多算法都需要用到它来解决一些问题,比如信息安全上的MD5算法,视频文件的字幕识别等等,因为Hash函数具有单向性,所以使用起来非常的方便,可以唯一标识一种东西,非常有用。 阅读全文
posted @ 2017-05-21 13:27 精心出精品 阅读(1846) 评论(0) 推荐(0)
摘要:在这里主要讲解了图的定义,图的存储结构,图的构建,以及关于图的某些经典算法,比如深度、广度优先遍历,prim算法,dijkstra算法等内容,并附有完整的代码和解释,希望广大网友可以从中受益! 阅读全文
posted @ 2017-05-21 13:00 精心出精品 阅读(11026) 评论(2) 推荐(6)
摘要:哈夫曼编码与译码 一、哈夫曼编码定义 1.1、基本术语 路径: 从一结点到另一结点上的分支构成这两个结点的路径。 路径长度: 路径上的分支数目。 树的路径长度: 从根到所有结点的路径长度之和。 结点的带权路径长度: 从该结点到树根之间的路径长度与结点上权值的乘积。 树的带权路径长度: 树中所有叶子结 阅读全文
posted @ 2017-05-21 10:43 精心出精品 阅读(4124) 评论(1) 推荐(6)
摘要:树、二叉树、三叉树、平衡排序二叉树AVL 一、树的定义 树是计算机算法最重要的非线性结构。树中每个数据元素至多有一个直接前驱,但可以有多个直接后继。树是一种以分支关系定义的层次结构。 a.树是n(≥0)结点组成的有限集合。{N.沃恩} (树是n(n≥1)个结点组成的有限集合。{D.E.Knuth}) 阅读全文
posted @ 2017-05-19 00:02 精心出精品 阅读(8917) 评论(2) 推荐(1)
摘要:稀疏矩阵的十字链表实现和转置 一、数组和广义表的定义 数组的定义1:一个 N 维数组是受 N 组线性关系约束的线性表。 二维数组的逻辑结构可形式地描述为: 2_ARRAY(D,R) 其中 D={aij} | i=0,1,...,b1-1; j=0,1,...,b2-1;aij∈D0} R={Row, 阅读全文
posted @ 2017-05-17 23:22 精心出精品 阅读(3019) 评论(0) 推荐(1)
摘要:字符串的研究和KMP算法分析和实现 一、串的定义 串是计算机非数值处理的基本对象。串是一种特殊的线性表,它的每个结点仅由一个字符组成,并且单个元素是无意义的。 1、串(string):是由0个或多个字符组成的有限序列,记作: S=“a1a2...an” (n>=0) 其中:S是串名,两个双引号括起来 阅读全文
posted @ 2017-05-17 22:35 精心出精品 阅读(633) 评论(0) 推荐(0)
摘要:栈和队列的相关问题分析 一、栈和队列定义 栈和队列是两种重要的数据结构。从结构特性角度看,栈和队列也是线性表,其特殊性在于它们的基本操作是线性表的子集,是操作受限的线性表,可称为限定性的数据结构;从数据类型角度看,其操作规则与线性表大不相同,是完全不同于线性表的抽象数据类型。 图1 栈的结构 图2 阅读全文
posted @ 2017-05-17 19:58 精心出精品 阅读(428) 评论(0) 推荐(0)
摘要:数据结构与算法之线性表 人的记忆都是有选择性的,面对着大量的知识,我们更擅长于感性记忆,而对于算法和数据结构这些逻辑性很强的东西如果不是刻意的记忆或者使用渐渐地就会觉得无力为继,这里是我两年前学过的一些算法的总结,这些算法从最基本的线性表开始,不断的深入,将链表、栈、队列、二叉树、图论等数据结构和相 阅读全文
posted @ 2017-05-16 21:11 精心出精品 阅读(469) 评论(0) 推荐(0)