有穷自动机 定义一个状态的集合Q,而一个状态q通过一个转移函数δ则可转移到另外一个状态q', 而自动有一个初始状态,还会有一个接受状态,到达了接受状态则说明该一系列的输入时符号该自动机所确定的模式。在编译原理的课上,接触了有穷自动机,而正则表达式和有穷自动自动机是等价的,程序设计语言的词法则可以用正则表达式来定义。可见,有穷自动机用来做字符
【编程珠玑】 想不到薄薄的200+页,居然能让我如此地狂笑不止,暗叹妙哉,手不释卷。对于学习计算机算法而言,有一点基础之后就可以翻翻这本“大师系列”的课外读物了。先说说里面的结构篇章,然后再说说它吸引我的地方。第一部分介绍了一些基础知识,但是读起来非常有趣,有些算法简直让人惊叹不已,而后面的编程练习也十分具有挑战性,这部分分为算法、数据结构、编写正确的程序、编
【编程珠玑】 看珠玑看了一半了,多是趁着闲着的时候看上几页,思考一下后面的问题。珠玑很薄,才两百来页,但是里面的一些技术却十分地实用,改天一定要好好整理一下,将写的程序和一些有趣的技术(编程思想,断言,数据表现形式)等话题展开探讨。很久没有写技术性的文字了,只是拿来简单的二叉查找树来练练手。 【二叉查找树】 二叉查找树是一种二叉树,由于其具有左子树的元素都小于根节点,右子树元
【前言】 对于一个问题,我们如果可以枚举所有的解,那么这个解空间我们是知道的。那么如何在解空间里面找到最优解呢?这时有一个非常好的方法,从底向上地构造整个解,而每一步都是从地层寻求最优解,这样就能保证在最终得到的一定是最优解。这就是最优子结构,有这种结构的问题,通常都可以用动态规划的办法来寻求最优解。而且它是从小规模(子问题)到大规模问题的构造,而常常这样的解法能够用一张表直观地表现
【编程的最低境界】 自从学习了高级语言C/C++之后,接着就学习了一些简单的算法。最近看《算法导论》,又重新学习了一下之前的最最基础的算法——“排序”。排序虽然基础,能根据各种排序方法的思想徒手写出排序算法来,是编程的最低阶段,排序都写不好,就别谈开发好的软件了。虽然其他博客上到处都是排序的文章和代码,但是我觉得还是要写一写,记录下思考
栈实现表达式求值——逆波兰法 正儿八经地学习数据结构有一个多月了,基本的线性表和vector、list、deque等等都浅浅地接触了一下。实验做了学生信息管理的顺序表实现和链表实现,二者各有利弊。但是通过学习数据结构和一些算法,我对那些厉害人物以及他们写的神奇的算法非常崇拜,胸中有一片火热尽管现实摧残得我不敢轻举妄动。 这不刚刚接触数据结构中的受限表—&md
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号