摘要:“数据结构”是计算机程序设计的重要理论技术基础,它是计算机学科的核心课程。 用数据结构中的知识、算法、思想,解决一些实际问题,可使得该问题变得一目了然,易懂。  本文是通过C++语言平台实现阿克曼函数问题的算法设计,采用递归调用和以栈作为存储的非递归调用的方法解决,使抽象的数学问题程序化,更便于理解。 84338

毕业论文关键词:数据结构;阿克曼函数;递归;非递归

Application of the Stack Data Structure

Abstract: "data structure" is an important theoretical basis for computer programming technology, which is the core of computer science courses。 Knowledge of data structures, algorithms, ideas solve some practical problems may cause some problems became clear, easy to understand。 This paper is designed to achieve Ackermann function issues through C ++ language platform algorithm design and the use of recursive calls to the stack as a method of storing non-recursive call to solve the problem so abstract mathematical procedures, easier to understand。

Key words: Data structure; Ackermann function; Recursive; Non-recursive

目    录

摘   要。 2

引言 2

1。 预备知识 2

1。1  数据结构 2

1。2  C++语言 2

2。 栈的应用研究 2

2。1  栈的非递归算法 2

2。2  阿克曼函数 2

2。3  递归算法 2

3。 栈的实际操作 2

3。1  函数实现初始化和入出栈 2

4。栈的操作问题 2

5。 结束语 2

参考文献 2

致谢 2

数据结构中栈的应用研究 

引言

数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。

本文中根据参考文献[1]-[4]详细的介绍数据结构中的两种特殊的线性形式——栈和堆。 栈是一种线性表,而且是只可在表的一端进行插入和删除运算的线性表;而堆是一种树形结构,其满中树中任一非叶结点的关键字均不大于或不小于其左右子树的结点的关键字。简单的来说,堆是无序的,可任意取任意插入,而栈对任意元素的操作都是有秩序的和有约束的。

本文使用递归和非递归方法实现阿克曼函数的问题,同时在非递归调用时利用了栈作为元素的存储空间。详细的介绍了栈的算法设计过程。本文首先介绍了课题背景和课题的意义。在本章中,还给出了我们查阅并借用的一些参考文献的主要内容;其次主要介绍了论文的分析与算法的设计,对存在的问题作了简要分析并予以改进以及算法的复杂性的分析;最后介绍对栈的有关操作及其他操作问题。

1。 预备知识

1。1  数据结构

一般认为,一个数据结构是由数据元素依据某种逻辑联系组织起来的。对数据元素间逻辑关系的描述称为数据的逻辑结构;数据必须在计算机内存储,数据的存储结构是数据结构的实现形式,是其在计算机内的表示;此外讨论一个数据结构必须同时讨论在该类数据上执行的运算才有意义。一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率。论文网

上一篇:密度函数规范性的应用
下一篇:C语言中的选择结构及其应用

浅谈中学数学函数最值问题的求解方法

基于决策树算法的篮球联赛预测

数形结合在中学数学中的...

浙江省工业企业发展的因子分析

中美小学数学课堂教学的比较

杭州历年中考三角形的题型分析

论数形结合在中学数学教育中的应用

LiMn1-xFexPO4正极材料合成及充放电性能研究

老年2型糖尿病患者运动疗...

互联网教育”变革路径研究进展【7972字】

我国风险投资的发展现状问题及对策分析

麦秸秆还田和沼液灌溉对...

安康汉江网讯

ASP.net+sqlserver企业设备管理系统设计与开发

网络语言“XX体”研究

张洁小说《无字》中的女性意识

新課改下小學语文洧效阅...