数据结构知识点总结:线性表、栈、队列、树、图和查找算法

版权申诉
0 下载量 93 浏览量 更新于2024-08-28 收藏 144KB DOC 举报
数据结构知识点总结 数据结构是计算机科学中的一门基础学科,研究如何组织和存储数据,以便更好地使用和处理数据。了解数据结构是编写高效程序的关键。 **基本概念** 1. 数据元素:数据的基本单位。 2. 数据项:数据不可分割的最小单位。 3. 数据结构的逻辑结构:抽象的,与实现无关。 4. 数据结构的物理结构:存储结构,包括顺序映像(顺序存储结构)和非顺序映像(链式存储结构)。 5. 算法特性:正确性、有穷性、确定性、可行性、输入和输出。 **算法设计的要求** 1. 正确性:算法应能满足设定的功能和要求。 2. 可读性:思路清晰、层次分明、易读易懂。 3. 健壮性:输入非法数据时应能作适当的反应和处理。 4. 高效性(时间复杂度):解决问题时间越短,算法的效率就越高。 5. 低存储量(空间复杂度):完成同一功能,占用存储空间应尽可能少。 **线性表** 1. 线性表List:最常用且最简单的数据结构。 2. 线性表是n个数据元素的有限序列。 3. 线性结构的特点:①“第一个”②“最后一个”③前驱④后继。 4. 顺序表——线性表的顺序存储结构 特点 a)逻辑上相邻的元素在物理位置上相邻。 b)随机访问。 5. 线性表的链式存储结构 类型定义:简而言之,“数据+指针”。 不带头结点的空表判定为L==null 带头结点的空表判定为L->next==null 循环单链表为空的判定条件为L.next==L 线性链表的最后一个结点的指针为NULL 头结点的数据域为空,指针域为空。 **栈和队列** 栈和队列是两种特殊的线性表。栈是一种后进先出的数据结构,队列是一种先进先出的数据结构。 **树和二叉树** 树是一种非线性数据结构,二叉树是一种特殊的树。树的每个结点最多有两个孩子结点,左孩子和右孩子。 **图** 图是一种非线性数据结构,由结点和边组成。图可以用来描述复杂的关系。 **查找算法** 查找算法是查找数据结构中某个特定元素的算法。常见的查找算法有顺序查找、折半查找和哈希查找。 **排序算法** 排序算法是将数据结构中的元素排序的算法。常见的排序算法有冒泡排序、选择排序、插入排序和快速排序。 本文档提供了数据结构的基本概念、算法设计的要求、线性表、栈和队列、树和二叉树、图、查找算法和排序算法等知识点,为学习数据结构提供了系统的参考。