摘要:
前言: 2、3、4章讨论的线性结构中的数据元素都是非结构的原子类型,元素的值是不再分解的。本章讨论的两种数据结构 数组和广义表可以看成是线性表在下述含以上的扩展:表中的数据元素本身也是一个数据结构。 其中、数组是一种比较熟知的数据类型,几乎所有程序语言都把数组类型设定为固有类型,前两节节以抽象数据类 阅读全文
摘要:
前言: 目录: 1.串类型的定义 2.串的表示和实现 3.串的模式匹配算法 4.串操作应用举例 正文: 串的模式匹配即,在给定主串S 中,搜索子串T 的位置,如果存在T 则返回其所在位置,否则返回 0 串的模式匹配算法 主串 S: a b c a b c d s v t 子串 T: a b c d 阅读全文
摘要:
前言: 计算机上的应用程序几乎都是以字符串数据作为处理对象,然而,现今我们使用的计算机的硬件结构主要是反映数值计算的需要的,因此,在处理字符串数据时比处理整数和浮点数要复杂得多。而且,在不同类型的应用中,所处理的字符串具有不同的特点,要有效地实现字符串的处理,就必须根据具体情况使用合适的存储结构。这 阅读全文
摘要:
前言: 本节讲述,队列的入队 和 离队行为,由事件决定情况下,是如何实现的。 目录: 离散事件模拟 正文: 问题:假设某银行有4个窗口对外接待客户,从早晨银行开门起不断有客户进入银行。由于每个窗口在某个时刻只能接待一个客户,因此在客户人数众多时需在每个窗口前顺次排队,对于刚进入银行的客户,如果某个窗 阅读全文
摘要:
前言: 在队列的顺序存储结构中,除了用一组地址连续的存储单元依次存放从队列头 到 队列尾的元素之外, 尚需附设两个 变量(虚拟指针): front 和 rear 分别指向 头 和 尾对应的数组下标。为了在 C 语言中描述的方便, 在此:初始化建空队列时, 令 front = rear=0 。当插入新 阅读全文
摘要:
前言: 我们生活中排队模型的特点是,最早进入队伍的元素最早离开。本节提出队列来描述类似排队的结构模型。 目录: 1、栈 2、栈的应用举例 3、栈与递归的实现 4、队列 5、离散事件模型 正文: 队列的定义: 和栈相反,队列(queue)是一种先进先出(first in first out, FIFO 阅读全文
摘要:
前言: 栈还有一个总要应用是在程序设计语言中实现递归。一个直接调用自己或通过一系列的调用语句间接地调用自己的函数,称作递归函数。 目录: 1、栈 2、栈的应用举例 3、栈与递归的实现 4、队列 5、离散事件模型 正文: 3、栈与递归的实现 递归程序设计是一个强有力的工具。 1)很多数学函数是递归调用 阅读全文
摘要:
前言: 本节为栈的应用举例,只包括代码实现部分 目录: 2.栈的应用举例 进制转换: 括号匹配: 正文: 进制转换实现代码: 注意:此函数要和上一节,栈的实现代码放在一起 括号匹配代码实现: 匹配代码在 CharMatch(char *pc) 函数内实现,其他部分都是栈的基本操作。 阅读全文
摘要:
前言: 栈和队列 是两种重要的线性结构。从数据结构角度来看,栈和队列也是线性表,它的特殊性在于其操作是线性表的子集,是操作受限的线性表,因此可以称作限定性的数据结构。 (限定性:如、人为的规定线性表只能从表尾插入和删除结点数据元素,那么这样的线性表就是栈) 目录: 1、栈 2、栈的应用举例 3、栈与 阅读全文
摘要:
前言: 学习了线性表的 顺序结构 和链式结构,那么这种学习有什么用? 本节将会学习如何用线性表来实现 一元多项式的表示及相加。 目录: 1.一元多项式 正文: 一元多项式: 数学上,一个一元多项式可写成 按幂升序排列的形式: Pn(x)= P0 + P1x1 + P2x2 + .... + Pnxn 阅读全文