关闭

25、数据结构笔记之二十五串应用之文本编辑

25、数据结构笔记之二十五串应用之文本编辑            “正如恶劣的品质可以在幸运中暴露一样,最美好的品质也是在厄运中被显示的。 -- 培根”            由于前段时间一直出差在外,间断了半个月,今天开始继续学习数据结构。 1.  文本编辑         本文编辑程序是一个面向用户的系统服务程序,广泛用于源程序的输入和修改,甚至用于报刊和书籍的编辑排版以及办公室的公...
阅读(120) 评论(0)

24、数据结构笔记之二十四串的模式匹配算法

24、数据结构笔记之二十四串的模式匹配算法            “燧石受到的敲打越厉害,发出的光就越灿烂。 -- 马克思”            来看下两个算法,BF和KMP算法在串的模式匹配中实现。 1.  BF算法 BF(Brute Force)算法是普通的模式匹配算法,BF算法的思想就是将目标串S的第一个字符与模式串T的第一个字符进行匹配,若相等,则继续比较S的第二个字符和...
阅读(35) 评论(0)

23、数据结构笔记之二十三串的堆分配实现

23、数据结构笔记之二十三串的堆分配实现            “人的价值是由自己决定的。”            接下去是看下如何用C实现串。   1.  定义 定义结构体如下,一种字符数组,一个表示数组的长度。以一组地址连续的存储单元存放串值字符序列,但是他们的存储空间是在程序执行过程中动态分配而得。 typedefstruct {     charch[MAXLEN];   ...
阅读(30) 评论(0)

22、数据结构笔记之十九列队实现离散事件模拟

22、数据结构笔记之十九列队实现离散事件模拟            “现实是此岸,理想是彼岸,中间隔着湍急的河流,行动则是架在河上的桥梁。”            这篇开始我们学习串相关的数据结构。   1. 串的相关概念      1)串(string)是由零个或多个字符组成的有限序列,又名叫字符串。    2)串中含有的字符数据称为串的长度,零个字符的串称为空串(null str...
阅读(32) 评论(0)

21、数据结构笔记之十九列队实现离散事件模拟

21、数据结构笔记之十九列队实现离散事件模拟            “努力学习,勤奋工作,让青春更加光彩。”            再来看下列队实现离散事件模拟。从下篇开始我们去搞串了。     1.  离散事件模拟 离散事件模拟,将银行业务作为模拟,假设有4个窗口对外接待客户,从早晨银行开门起不断有客户进入银行,每个窗口在某一时刻只能接待一个客户,因此客户人数众多时需要每个窗口前顺序...
阅读(33) 评论(0)

20、数据结构笔记之十九双向链表

20、数据结构笔记之十九双向链表            本篇名言:“人的生命,似洪水奔流,不遇着岛屿和暗礁,难以激起美丽的浪花。” 之前实现的都是单向列表,那么我们来看下双向链表。 1.  双向链表 双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。一般我们都构造双向...
阅读(29) 评论(0)

19、数据结构笔记之十九链表实现等价类寻找

19、数据结构笔记之十九链表实现等价类寻找            “人生有两出悲剧:一是万念俱灰,另一是踌躇满志。”            继续来看下通过链表存储实现等价类寻找。 1.  等价类 等价类(Equivalenceclass)在数学中,给定一个集合 X 和在 X 上的一个等价关系 ~,则 X 中的一个元素 a 的等价类是在 X 中等价于 a 的所有元素构成的集合: a= { X...
阅读(27) 评论(0)

18、数据结构笔记之十八链表实现稀疏矩阵

18、数据结构笔记之十八链表实现稀疏矩阵            “必须如蜜蜂一样,采过许多花,才能酿出蜜来。”             上篇中实现了栈在多项式实现中的例子,再来看下稀疏矩阵通过链表方式实现。            关键字:十字链表存储 1.  十字链表存储            十字链表(OrthogonalList)是有向图的另一种链式存储结构。该结构可以看成是将有...
阅读(22) 评论(0)

17、数据结构笔记之十七链表实现多项式

17、数据结构笔记之十七链表实现多项式            “人生不是一种享乐,而是一桩十分沉重的工作。”列夫托尔斯泰。            栈的应用在上面中基本覆盖了很多,接下去我们来补充下链表在多项式实现中的例子。   1.  多项式 这个问题是符号多项式的处理问题,已经成为表处理中的一个经典例子。把每项表示为一个结点,该结点包括系数域、指数域和指向下一项的指针。类型申明如下: ...
阅读(23) 评论(0)

16、数据结构笔记之十六栈的应用之栈与递归之汉诺塔问题

16、蛤蟆的数据结构笔记之十六栈的应用之栈与递归之汉诺塔问题        “人生的价值,并不是用时间,而是用深度去衡量的。”        继续栈与递归应用,汉诺塔问题。   1.  汉诺塔问题 汉诺塔:汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按...
阅读(21) 评论(0)

15、数据结构笔记之十五栈的应用之栈与递归之八皇后问题

15、蛤蟆的数据结构笔记之十五栈的应用之栈与递归之八皇后问题 “人的一生应当这样度过:当回忆往事的时候,他不致于因为虚度年华而痛悔,也不致于因为过去的碌碌无为而羞愧;在临死的时候,他能够说:"我的整个生命和全部精力,都已经献给世界上最壮丽的事业--为人类的解放而斗争。”            继续递归问题,本次是经典的八皇后问题:   1.  八皇后问题 八皇后问题,是一个古老而著名的问...
阅读(24) 评论(0)

14、数据结构笔记之十四栈的应用之栈与递归之阿克曼函数

14、数据结构笔记之十四栈的应用之栈与递归之阿克曼函数 “今天就是生命 ----- 是唯一你能确知的生命。” 继续递归应用,阿克曼函数。   1.  阿克曼函数 阿克曼函数(Ackermann)是非原始递归函数的例子。它需要两个自然数作为输入值,输出一个自然数。它的输出值增长速度非常高,仅是对于(4,3)的输出已大得不能准确计算。 Ackermann函数定义如下: 若m=0,返...
阅读(25) 评论(0)

13、数据结构笔记之十三栈的应用之栈与递归之斐波那契数列

13、数据结构笔记之十三栈的应用之栈与递归之斐波那契数列            “人生不是一支短短的蜡烛,而是一支由我们暂时拿着的火炬,我们一定要把它燃得。”            递归的斐波那契数列问题。            1.  斐波那契数列 斐波那契数列,又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、……在数学上,斐波纳契数列以如下被以递归的方...
阅读(25) 评论(0)

12、数据结构笔记之十二栈的应用之栈与递归之阶乘实现

12、数据结构笔记之十二栈的应用之栈与递归之阶乘实现            :“人生的价值,应当看他贡献什么,而不应当看他取得什么。”            本篇学习关于栈和递归的应用。 1.  阶乘 一个正整数的阶乘(英语:factorial)是所有小于及等于该数的正整数的积,并且有0的阶乘为1。自然数n的阶乘写作n!。1808年,基斯顿·卡曼引进这个表示法。 任何大于 1 的自然数n...
阅读(40) 评论(0)

11、数据结构笔记之十一栈的应用之表达式求值实现

11、数据结构笔记之十一栈的应用之表达式求值实现            “人生不售来回票,一旦动身,绝不能复返。”            继续栈应用实现   1.  表达式求值 表达式求值是设计语言编译中的一个基本问题,它的实现是栈应用的又一个典型例子。 任何一个表达式都是由操作数(Operand)、运算符(operator)和界限符(delimiter)组成。           ...
阅读(38) 评论(0)

10、数据结构笔记之十栈的应用之迷宫求解实现

10、数据结构笔记之十栈的应用之迷宫求解实现            “人生是伟大的宝藏,我晓得从这个宝藏里选取最珍贵的珠宝。”            继续栈的应用,这次实现迷宫求解。 1.  迷宫求解 计算机解迷宫时,通常是用穷举求解,从入口出发,顺某个方向向前探索,通则往前,不通则返回。显然是不要一个后进先出的饥饿哦股来保存从入口到当前位置的路径。 算法描述: 设定当前位置的...
阅读(42) 评论(0)

9、数据结构笔记之九栈的应用之行编辑实现

9、数据结构笔记之九栈的应用之行编辑实现             “人生照例是一场值得一搏的争衡,然而它的奖品是拼斗。”   1.  行编辑 行编辑的功能是接受用户从终端输入的程序或数据。每接受一个字符即存入用户数据区的做法不是最恰当的。好的做法是建立一个缓存区,允许洪湖输入出错,并在发现有无时可以及时更正。用栈来实现这个输入缓冲区是非常适合的。 每当从终端接受了一个字符后先作判别,如果...
阅读(34) 评论(0)

8、数据结构笔记之八栈的应用之括号匹配检验实现

8、数据结构笔记之八栈的应用之括号匹配检验实现            “人生的意义就在这个过程上。你要细细体认和玩味这个过程中的每节,无论它是一节黄金或一节铁;你要认识每节的充分价值。”  1.  括号匹配问题 括号匹配问题是指要匹配一个字符串的左,右括号:括号问题可以用来解决C语言中的“{”和“}”的匹配问题,可以观察到,如果从左至右扫描一个字符串,那么每个右括号将于最近遇到的那个未匹配的...
阅读(33) 评论(0)

7、数据结构笔记之七栈的应用之数制转换

7、数据结构笔记之七栈的应用之数制转换            “人生意义的大小,不在乎外界的变迁,而在乎内心的经验。”            来看下栈在数制转换的作用。   1.  原理介绍              十进制N和其他进制数的转换时计算机实现计算的基本问题。简单算法如下: N=(N div d )x d + N modd              2.  实现 ...
阅读(37) 评论(0)

6、数据结构笔记之六链队列实现

6、数据结构笔记之六链队列实现   “人生天地之间,若白驹之过隙,忽然而已。”。 1.  定义 如下图所示,和链栈基本一致。 #defineIS_EMPTY(ptr)(!(ptr)) #defineIS_FULL(ptr)  (!(ptr))   typedefstructelement{            intkey;            /*otherfields *...
阅读(48) 评论(0)
918条 共46页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:25201191次
    • 积分:91035
    • 等级:
    • 排名:第13名
    • 原创:767篇
    • 转载:137篇
    • 译文:14篇
    • 评论:23条
    最新评论