数据结构与算法
文章平均质量分 76
清园暖歌
这个作者很懒,什么都没留下…
展开
-
数据结构与算法——第三章 栈和队列(3)
3.5 队列的表示和操作的实现3.5 1 相关术语(1)队列(Queue)是仅在表尾进行插入操作,在表头进行删除操作的线性表。(2)表尾即an端,称为队尾;表头即a1端,称为队头。(3)它是一种先进先出(FIFO)的线性表。3.5.2 队列的抽象数据类型定义3.5.3 队列的顺序表示和实现(1)队列的物理存储可以用顺序存储结构,也可用链式存储结构。相应地,队列的存储方式也分为两种,即顺序队列和链式队列。(2)队列的顺序表示——用一维数组base[MAXQSI.原创 2022-03-28 23:58:25 · 877 阅读 · 0 评论 -
数据结构与算法——第三章 栈和队列(2)
3.3 栈的表示和操作的实现3.3.1 栈的抽象数据类型的类型定义ADT Stack{ 数据对象: D = { ai|ai ∈ ElemSet, i=1,2,...,n, n≥0} 数据关系: R1 = { <ai-1, ai >| ai-1, ai∈D, i=2,...,n} 约定an端为栈顶,a1端为栈底。 基本操作:初始化、进栈、出栈、取栈顶元素等}ADT StackInitStack(&s).原创 2022-03-27 13:05:00 · 2422 阅读 · 0 评论 -
数据结构与算法——第三章 栈和队列(1)
3.1 栈和队列的定义和特点1. 定义限定栈插入在最后一个,删除也是最后一个;而队列插入也是最后一个,但删除却是第一个。2. 栈的应用特性:后进先出3. 队列的应用特性:先进先出3.1.1 栈的定义和特点 栈(stack)是一个特殊的线性表,是限定仅在一端(通常是表尾)进行插入和删除操作的线性表。又称为后进先出(Lsat In First Out)的线性表,建成LIFO结构。思考:...原创 2022-03-26 19:44:25 · 841 阅读 · 0 评论 -
数据结构与算法——第二章 线性表(5)
2.7 线性表的应用2.7.1 线性表的合并算法思想:依次取出Lb中的每个元素,执行以下操作:1. 在La中查找该元素;2. 如果找不到,则将其插入La的最后。void union(List &La, List Lb){ La_len = ListLength(La); Lb_len = ListLength(Lb); for(i=1; i<=Lb_len; i++) { GetElem(Lb, i, e);原创 2022-03-25 22:44:44 · 962 阅读 · 0 评论 -
数据结构与算法——第二章 线性表(4)
2.5.3 循环链表所以一般操作有尾指针的循环链表。算法思想:LinkList Connect(LinkList Ta, LinkList Tb){ // 假设Ta、Tb都是非空的单循环链表 p = Ta -> next; // ①p存表头结点 Ta -> next = Tb -> next -> next; // ②Tb表头连结Ta表尾 delete Tb -> next; // ③释放Tb表头.原创 2022-03-24 00:40:26 · 634 阅读 · 0 评论 -
数据结构与算法——(2.5.2)链表的补充算法
1. 判断链表是否为空空表:链表中无元素,称为空链表(头指针和头结点仍然在)算法思路:所以只要判断头结点指针域是否为空。int ListEmpty(LinkList L){ // 若L为空表,则返回1,否则返回0 if(L -> next) // 非空 return 0; else return 1;}2. 单链表的销毁链表销毁后不存在。算法思路:从头指针开始,依次释放所有结点,后面结点的地...原创 2022-03-21 22:59:15 · 1551 阅读 · 0 评论 -
数据结构与算法——第二章 线性表(3)
回顾:2.5 线性表的链式表示和实现2.5.1 链表概念1. 链式存储结构:结点在存储器中的位置是任意的,即逻辑上相邻的数据元素在物理上不一定相邻。2. 线性表的链式表示又称为非顺序映像或链式映像。3. 各结点由两个域组成:数据域:存储元素数值数据 指针域:存储直接后继结点的存储位置数据 指针 4. 与链式存储有关的术语(1)结点:数据元素的存...原创 2022-03-20 00:05:48 · 1263 阅读 · 0 评论 -
数据结构与算法——第二章 线性表(2)
2.4 线性表顺序表示和实现2.4.1 线性表的顺序存储表示1.顺序存储定义:把逻辑上相邻的数据元素存储在物理上相邻的存储单元中的存储结构。2.顺序存储占用一片连续的存储空间,有空的存储单元的话则不是顺序存储结构。3.所以知道i个元素的存储位置,则可以知道i+1元素的位置。LOC(ai)+(maxlen-1)×l特点:以物理位置相邻表示逻辑关系。任一元素均可随机存取。(优点)#define LIST_INT_SIZE 100 typedef struct{...原创 2022-03-16 22:19:33 · 362 阅读 · 0 评论 -
数据结构与算法——第二章 线性表(1)
回顾:2.1 线性表的定义与特点1.线性表:具有相同特性的数据元素的一个有限序列。e.g.26个字母(A,……,Z):数据元素都是字母;元素间关系是线性。2.2 案例引入1.稀疏多项式要把指数单独存储,顺序多项式则不需要。求和:存在问题: (1)存储空间分配不灵活; (2)运算的空间复杂度高。所以可以使用链式存储结构:2.图书信息管理系统所以要适当的选择合适的存储结构。3.总结(1...原创 2022-03-15 23:53:34 · 1122 阅读 · 0 评论 -
数据结构与算法——第一章 绪论
1.1数据结构的研究内容分析问题、提取操作对象、找出关系、求解1.2基本概念和术语1.2.1概念1.数据(Data)(1)能输入计算机且能被计算机处理的各种符号的集合;(2)包括:数值型、非数值型。2.数据元素(Data element)(1)数据的基本单位,再计算机程序中通常作为一个整体进行考虑和处理;(2)也称元素 or 记录、结点、顶点;(3)一个数据元素可由若干个数据项组成。3...原创 2022-03-14 21:55:26 · 972 阅读 · 0 评论