
数据结构
文章平均质量分 53
数据结构学习
酥酥~
不更新就是摆烂了
展开
-
【数据结构】顺序表和链表的比较
比较1、存取(读写)方式2、逻辑结构和物理结构3、查找、插入和删除操作4、空间分配5、存储结构的选择5.1 基于存储的考虑5.2 基于运算的考虑5.3 基于环境的考虑两种存储结构各有长短,选择的时候应该由实际问题决定。通常较为稳定的线性表选择顺序存储;而频繁插入删除时(动态性较强)宜选择链式存储1、存取(读写)方式顺序表可以顺序存取,也可以随机存取;链表智能从表头顺序存取元素例如在第i位置的元素上执行存或取操作,顺序表只需一次访问,链表需要从表头开始依次访问i次2、逻辑结构和物理结构原创 2022-04-30 00:58:34 · 1913 阅读 · 2 评论 -
【数据结构】绪论
目录1、数据结构相关概念和术语2、数据结构三要素2.1 逻辑结构2.2 存储结构(物理结构)2.3 数据的运算3、算法时间空间复杂度的分析与计算1、数据结构相关概念和术语2、数据结构三要素2.1 逻辑结构2.2 存储结构(物理结构)2.3 数据的运算3、算法时间空间复杂度的分析与计算...原创 2022-04-26 14:12:49 · 908 阅读 · 0 评论 -
【数据结构】顺序表的操作
内容:实现思路:① 对数据进行定义② 在主函数中定义顺序表③ 分别编写顺序表的初始化、清空、判断是否为空、获取长度、获取指定位置元素、求前驱、求后继、元素定位、插入元素、删除指定位置元素、显示等操作函数④ 初始化顺序表⑤ 根据指令选项判断需要执行的指令⑥ 接受退出指令退出⑦ 程序退出程序代码:#include <iostream>using namespace std;const int size=20;typedef int ElemType;typ.原创 2022-04-21 23:36:17 · 455 阅读 · 0 评论 -
【数据结构】二叉树和哈夫曼编码
1、二叉树的基本操作内容:1)采用二叉链表结构建立二叉树2)编程实现二叉树的先序、中序、后序和层序遍历3)编程实现非递归中序遍历4)编程实现:求二叉树的高度和叶子结点个数实现思路① 设置存储空间的初始分量② 定义结构体类型的二叉树数据类型,并引入堆栈③ 实现先序建立二叉树、前序遍历二叉树、中序遍历二叉树、后序遍历二叉树、层序遍历二叉树、先序非递归遍历二叉树、求二叉树深度、求叶子结点个数等函数④ 先序建立二叉树、前序遍历二叉树、中序遍历二叉树、后序遍历二叉树、求二叉树深度、求叶子结点原创 2022-04-21 23:51:30 · 1663 阅读 · 1 评论 -
【数据结构】图的操作(深度优先,广度优先,Dijkstra算法)
内容:1)采用邻接矩阵/邻接表建立图;2)采用深度优先/广度优先搜索方式遍历图3)编程实现Dijkstra最短路径算法实现思路:① 定义邻接矩阵和邻接表的数据类型② 定义visited数组存储该点是否访问③ 编写创建图的函数④ 编写深度优先遍历,使用递归的方法(栈)⑤ 编写广度优先遍历,使用队列的方法⑥ 编写Dijkstra算法,使用D[]存储起始点到某点的距离,S[]存储点是否访问过,Path[]存储某点的前一点程序代码:1、定义队列头文件:sqqueue.h#ifnde.原创 2022-04-21 23:59:06 · 1224 阅读 · 0 评论 -
【数据结构】单链表的操作
内容:1)实现单链表的以下基本操作:建立单链表,查找单链表,插入单链表,删除单链表。2)采用单链表结构编程实现:两个有序单链表的归并运算。实现思路:① 定义数据域类型;② 定义单链表,分为数据域和指针域;③ 分别编写实现前插法创建单链表、后插法创建单链表、初始化单链表、单链表的查找、向单链表插入元素、删除单链表中某元素、遍历单链表并显示、求单链表最大节点、判断单链表是否为空、求单链表长度、逆转单链表、两个有序单链表的归并等函数功能;④ 在主函数中定义单链表;⑤ 使用while实现循环操.原创 2022-04-21 23:32:49 · 6292 阅读 · 2 评论 -
【数据结构】栈和队列
内容:1)编程实现栈的以下基本操作:建栈,取栈顶元素,入栈,出栈2)编程实现队列的以下基本操作:建队列,取队头元素,入队,出队实现思路:① 编写顺序栈的操作。定义顺序栈的数据类型,实现顺序栈初始化、入栈、出栈、取栈顶元素函数② 编写链栈的操作。定义链栈的数据类型,实现链栈初始化、入栈、出栈、取栈顶元素函数③ 编写循环队列的操作。定义循环队列数据类型,实现循环队列初始化、求数列长度、入队、出队、取循环队列的队头元素函数。④ 编写链式队列的操作。定义链式队列数据类型,实现循环队列初始化、入队.原创 2022-04-21 23:43:19 · 262 阅读 · 0 评论