
数据结构
文章平均质量分 83
TechTruthSeeker
积极交流,用于知识的一种沉淀与积累。
展开
-
数据结构基础篇(6)
这段文字主要讲述了队列的相关概念,包括其定义(仅在表尾插入、表头删除的先进先出线性表)、术语(队尾、队头等)、操作(入队、出队),还介绍了队列的存储结构(链队或顺序队,常用循环顺序队)及其常见应用场景,如脱机打印、多用户系统等。接着详细说明了队列的顺序表示和实现,包括队列顺序表示的物理存储方式(一维数组)及队列问题(真溢出、假溢出及解决方法如循环队列),给出了循环队列插入元素、删除元素等操作的实现方式,以及循环队列类型定义和队列初始化等内容,最后提到了队列的链式存储结构及相关操作定义,包括链队列初始化、销毁原创 2024-06-01 23:07:07 · 503 阅读 · 0 评论 -
数据结构基础篇(7)
本文主要论述了串、数组和广义表相关内容。包括串的定义、术语,如子串、主串等,以及串的类型定义、存储结构和基本操作;串的模式匹配算法,有 BF 算法和 KMP 算法,还提到算法目的和应用。接着阐述数组的顺序存储,数组特点及基本操作,特殊矩阵的压缩存储,如对称矩阵、三角矩阵等。还介绍了稀疏矩阵及其三元组顺序表和十字链表。然后讲解了广义表的概念、性质,包括数据元素的相对次序、长度和深度等,以及广义表的基本运算,如求表头和表尾原创 2024-06-01 23:14:53 · 732 阅读 · 0 评论 -
数据结构基础篇(4)
介绍了循环链表,包括其概念(头尾相接形成环)、优点(可从任一结点找到其他结点)及判断终止条件和时间复杂度;阐述了双向链表的由来(为解决单链表找前驱结点时间复杂度高的问题)、概念(增加指向直接前驱的指针域)和特点(包括循环表及结构对称性),还提及了双向链表插入和删除操作;比较了单链表、循环链表和双向链表在时间效率上的差异,如查找表头、表尾、前驱结点等情况;分析了链式存储结构的优点(节点空间动态申请和释放、插入删除无需移动数据元素)和缺点(存储密度小、非随机存储结构),以及与顺序表在空间(存储空间、存储密度).原创 2024-05-31 22:20:01 · 897 阅读 · 0 评论 -
数据结构基础篇(5)
本文详细阐述了栈和队列的相关内容。首先介绍了栈的定义,即特殊的线性表,具有后进后出的特点,包括栈的概念如栈顶和栈底,以及入栈和出栈操作,还列举了栈的一些应用如进制转换、括号匹配检验、表达式求值、舞伴问题等。接着说明了栈的抽象数据类型的类型定义,涵盖初始化、销毁、判断空栈、求栈长、取栈顶元素等操作。然后讲解了栈的表示,包括顺序存储(顺序栈)和链式存储(链栈),分析了顺序栈的存储方式、特点及各种操作,也介绍了链栈的特点、初始化以及相关操作原创 2024-05-31 22:36:14 · 1225 阅读 · 0 评论 -
数据结构基础篇(3)
本文介绍了线性表链式表示的特点,包括用任意存储单元存放数据元素、逻辑与物理次序不一定相同等。阐述了与链式存储相关的术语,如结点、链表、单链表、双链表、循环链表、头指针、首元结点、头结点等。讲解了链表链式存储的特点,如结点位置任意、顺序存取等。给出了单链表实现的代码,包括单链表的存储结构、初始化、判断是否为空、销毁、清空、求表长、取元素内容、按值查找、插入、删除等操作的函数定义和实现方法。还介绍了建立单链表的两种方法,即头插法和尾插法。原创 2024-05-15 22:41:09 · 432 阅读 · 1 评论 -
数据结构基础篇(2)
本文详细介绍了线性表的顺序存储相关内容。包括顺序存储的定义和特点,如逻辑与物理位置相邻等;顺序表的标准模板,以及与数组相关的定义,如静态分配和动态分配,还介绍了内存动态分配的操作及相关函数。提到了 C++中的动态存储分配和参数传递方式,包括传值、传地址(指针变量、引用类型)及传数组名等。接着阐述了线性表顺序表示和实现中的各种操作算法,如初始化、销毁、清空、求长度、判断是否为空、取值、查找、插入和删除等的算法实现和代码原创 2024-05-15 21:46:13 · 345 阅读 · 1 评论 -
数据结构基础篇(1)
本文详细介绍了数据结构的相关内容,包括数据的概念及分类、数据结构的基本概念和术语,如数据元素、数据项、数据对象、逻辑结构、物理结构等;阐述了抽象数据类型的表示与实现;还讲解了算法的定义、描述方式、与程序的关系及特性、设计要求等;最后说明了线性表的定义和特点,并以稀疏多项式运算为例进行了分析。原创 2024-05-14 23:25:26 · 923 阅读 · 2 评论