数据结构的基本介绍
数据结构就是数据的组织形式,用一种提前设计好的框架去存取数据,以便更方便,高效的对数据进行增删查改。正确选择合适的数据结构,对软件程序的高效执行的影响作用不亚于算法的设计。此外,在计算机系统中数据结构的作用也是非同小可。例如常常在编程语言中听到的栈,堆等,就是经典的数据结构。
经典的数据结构大致如下:
一:线性数据结构
(1):列表
a:有序列表
其项保持排序次序。
b:无序列表
其项不按任何特殊顺序排列。
(2):队列
先进先出(FIFO),通常没有在队列中搜索项的操作。
(3):栈
后进先出(LIFO),通常没有在栈中搜索项的操作。
二:树
(1):二叉树
其项对整棵树的贡献依赖于它们在树中的位置。
(2):普通树
二叉树结构的一般化。
(3):二叉查找树
每一项都是自足的,整棵树的意义与项的相对排列无关。它是有序列表的树模拟。可以随意添加,删除或搜索项。
(4):AVL树
特殊的高度平衡的二叉查找树。在搜索项的机制方面,其搜索速度得到极大的提高。
(5):作为优先队列的堆
优先队列,其中的项有指定的优先度。在优先队列的所有项中,有最高优先度的项最先离开。根据概念结构,它是作为堆实现的,而堆是特殊的二叉树结构。
(6):可更新堆
可更新优先度的堆。
三:散列表
存储以高效搜索为唯一目的的项。与二叉查找树不同,散列表不以有效的顺序排列项,也没有树结构。其实现需要关于树的数学性质的丰富知识,以及关于操作数的所谓的散列函数的丰富知识。
四:图
普通树是图的特殊形式,因为层次是项间关系的特殊系统。用图来模拟如万维网(网页与网页间的链接),计算机网络和航线等结构系统,使用一个或多个标准图算法来解决问题。
在选择正确的数据结构时,一般从支持的操作的接口,效率,占据空间的大小,接口中的操作的运行时间等几个方面进行考虑。通常时间和空间是可以相互转换的。在构建不断复杂化的程序时,必须十分注意在最少量的结构和弹性结构之间做出选择,同时要尝试寻找更合适的中间结构。对于每一种数据结构,给出其接口中的每一个操作的运行时间。这是实现的价格标签,也是更一般的效率成本的定量衡量。
相关推荐
数据结构》(C语言版)的第1章综述数据、数据结构和抽象数据类型等基本概念;第2章至第7章从抽象数据类型的角度,分别讨论线性表、栈、队列、串、数组、广义表、树和二叉树以及图等基本类型的数据结构及其应用;第8...
20页word文档介绍一些关于数据结构的基本知识 链表 队列 树
本书和传统同类书籍的区别是除了介绍基本的数据结构容器如栈、队列、链表、树、二二义 树、红黑树、AV L树和图之外,引进了多任务:还介绍了将任意数据结构容器变成支持多任务 的方法:另外,还增加了复合数据结构和...
数据结构与算法大全,介绍很多算法,从基本内容开始,详细介绍数据结构的四大基本结构:线性结构、图、树、网等
本书的目的是从抽象思维和问题求解的观点提供对数据结构的实用介绍,试图包含有关数据结构、算法分析及其Java实现的所有重要的细节。作者采用了独特的方法将数据结构分成说明和实现两部分,并充分利用了已有的数据...
本书分为基本概念、简单数据结构(线性表、栈、队列)、复杂数据结构(树、图)和算法与数据结构应用(排序、查找、算法设计基础)四部分,详细介绍了常用数据结构和算法的基本概念及其不同的实现方法,对各种数据...
根据数据元素间关系的不同特性,通常有下列四类... 从上面所介绍的数据结构的概念中可以知道,一个数据结构有两个要素。一个是数据元素的集合,另一个是关系的集合。在形式上,数据结构通常可以采用一个二元组来表示。
本书分为8章,第1章介绍了数据结构和算法的基本概念及本书用到的数学和C#的知识;第2章至第6章分别讨论了线性表、栈和队列、串和数组、树型结构和图结构等常用的数据结构及其应用,以及在.NET框架中相应的数据结构;...
在介绍数据结构的基本运算时,不仅介绍了算法思想,更注意程序的实现过程;源程序都经过上机验证,正确率高;每章最后都配备了大量的习题,并在附录中给出了详细的习题答案,使学生能够深化对基本概念的理解,提高...
1968年美国唐·欧·克努特教授开创了数据结构的最初体系,他所著的《计算机程序设计技巧》第一卷《基本算法》是第一本较系统地阐述数据的逻辑结构和存储结构及其操作的著作。“数据结构”在计算机科学中是一门综合...
介绍数据、数据结构和抽象数据类型的概念。 第二章 ~ 第七章 基本数据结构 从抽象数据类型的角度, 分别讨论线性表、栈和队列、串、数组和广义表、 树、图等基本数据结构及其应用。 第八章 动态存储管理 介绍...
本书的目的是从抽象思维和问题求解的观点提供对数据结构的实用介绍,试图包含有关数据结构、算法分析及其Java实现的所有重要的细节。作者采用了独特的方法将数据结构分成说明和实现两部分,并充分利用了已有的数据...
《数据结构与算法设计》以基本数据结构为知识单元,系统地介绍数据结构知识与应用、计算机算法的设计与分析方法。全书共分13章,第1章介绍数据结构、抽象数据类型和算法的基本概念;第2~4章以抽象数据类型为主线索...
《数据结构与算法C#语言描述》介绍的方法非常实用,采用了时间测试而非大O表示法来分析算法性能。内容涵盖了数据结构和算法的基本原理,涉及数组、广义表、链表、散列表、树、图、排序搜索算法以及更多概率算法和...
《数据结构导论》系统地介绍了各种常用的数据结构,对基本概念、基本原理和基本方法做了深入浅出的介绍,对有关的算法设计做了详细和通俗的讲解,并对有关背景做了适当交待。每章附带小结和适量的习题。上述特点使...
OLAP基本概念,数据分析模型,多维数据结构
《数据结构与算法C#语言描述》介绍的方法非常实用,采用了时间测试而非大O表示法来分析算法性能。内容涵盖了数据结构和算法的基本原理,涉及数组、广义表、链表、散列表、树、图、排序搜索算法以及更多概率算法和...
介绍了计算机编程中使用的数据结构和算法,对于在计算机应用中如何操作和管理数据以取得最优性能提供了深入浅出的讲解。全书共分为15章,分别讲述了基本概念、数组、简单排序、堆和队列、链表、递归、进阶排序、...
本课程内容取自清华大学出版社出版的《数据结构》(C语言版)中的第1至第7章、第9至第10章,其中第1章综述数据、数据结构和抽象数据类型等基本概念;第2章至第7章从抽象数据类型的角度,分别讨论线性表、栈、队列、串...
全书共分9章:第1章主要介绍了有关数据结构的基本概念和术语;第2章~第7章分别讨论了线性表、栈和队列、串、数组和广义表、树及图等基本类型的数据结构;第8章和第9章主要讨论了查找和排序的各种实现方法及其综合...