文章分类 -  数据结构与算法

摘要:## 1026: 邻接表(2) ## Description 已知邻接表存储的无向图的部分代码如下,请补充完成深度优先、广度优先遍历算法。 ```CPP // graphmain.cpp #include #include using namespace std; // 循环队列类 const in 阅读全文
posted @ 2023-06-06 16:36 杨与S8 阅读(31) 评论(0) 推荐(0)
摘要:## 1025: 邻接表(1) ## Description 已知有向图采用邻接表存储,部分代码如下,请补充完成计算各个顶点的入度,出度算法。 ```cpp #include #include using namespace std; const int MaxSize = 20; // 顶点个数的 阅读全文
posted @ 2023-06-06 16:35 杨与S8 阅读(27) 评论(0) 推荐(0)
摘要:## 1024: 图的邻接矩阵 ## Description ​ 利用邻接矩阵存储结构,完成深度优先遍历和广度优先遍历算法。已知部分代码如下(勿改动),只需完成深度遍历DFSTraverse和广度遍历BFSTraverse即可。 ```cpp #include #include using name 阅读全文
posted @ 2023-06-06 16:35 杨与S8 阅读(35) 评论(0) 推荐(0)
摘要:## 1022: 二叉链表(3) ## Description 分别利用栈和队列实现二叉树的先序非递归算法和层次遍历算法。 已知部分代码如下:(勿改动),请在此基础上补充实现两个遍历算法 ```cpp #include #include using namespace std; // 循环队列类 c 阅读全文
posted @ 2023-06-06 16:34 杨与S8 阅读(26) 评论(0) 推荐(0)
摘要:## 1021: 二叉链表(2) ## Description 递归算法计算二叉树的叶子个数和高度。请完成如三个算法: ```cpp int CountLeaf(BiNode *); // 递归算法计算叶子数 int Depth(BiNode *); // 递归算法计算高度 BiNode *GetR 阅读全文
posted @ 2023-06-06 16:33 杨与S8 阅读(13) 评论(0) 推荐(0)
摘要:## 1020: 二叉链表(1) ## Description 已知二叉链表类,请实现二叉树的先序、中序、后序递归遍历。 ```cpp #include #include using namespace std; // 二叉树类,实现二叉树的递归算法:三种遍历 template struct BiN 阅读全文
posted @ 2023-06-06 16:32 杨与S8 阅读(57) 评论(0) 推荐(0)
摘要:## 1019: 顺序存储二叉树 ## Description ​ 顺序存储的二叉树,依次实现二叉树的三种递归遍历:先序、中序、后序;二叉树的先序非递归、层次遍历;计算二叉树的叶子个数、高度。部分代码已知,请勿改动,将其它代码补充完整,达到相应的输出结果。 ```cpp const int Queu 阅读全文
posted @ 2023-06-06 16:31 杨与S8 阅读(25) 评论(0) 推荐(0)
摘要:## 1005: 单向链表(2) ## Description ​ 已知一个有序链表类LinkSortList及main函数的部分代码如下,请完成LinkSortList类的成员函数,得到对应的运行结果,勿改动main函数。 ```cpp // 有序表类 template class LinkSor 阅读全文
posted @ 2023-06-06 16:30 杨与S8 阅读(23) 评论(0) 推荐(0)
摘要:## 1004: 单向链表(1) ## Description ​ 已知链表类的定义如下,实现各个成员函数。主函数中输入数据(以0结束)利用Insert函数依次将数据插入到表的1号位置,利用DispList按照逻辑次序输出表中元素,再输入一个要查找的元素,利用查找函数Locate查找其在表中的位置, 阅读全文
posted @ 2023-06-06 16:29 杨与S8 阅读(29) 评论(0) 推荐(0)
摘要:## 1003: 顺序表(3) ## Description ​ 请在上题SortList类的基础上添加成员函数Merge,实现两个有序表的合并。部分代码已经给出,请勿改动。注意:合并算法效率要求为O(m+n),不能借助排序算法实现。 ```cpp //有序表类 template class Sor 阅读全文
posted @ 2023-06-06 16:07 杨与S8 阅读(29) 评论(0) 推荐(0)
摘要:## 1002: 顺序表(2) ## Description ​ 已知一个有序顺序表类SortList及main函数的部分代码如下,请完成SortList类的成员函数Insert和DispList,得到对应的运行结果,勿改动main函数。注意:插入函数Insert效率为O(n),不能利用排序算法实现 阅读全文
posted @ 2023-06-06 16:04 杨与S8 阅读(68) 评论(0) 推荐(0)
摘要:## 1001: 顺序表(1) ## Description ​ 已知顺序表类的定义如下,实现各个成员函数。主函数中输入数据(以0结束)利用Insert函数依次将数据插入到表的1号位置,利用DispList按照逻辑次序输出表中元素,再输入一个要查找的元素,利用查找函数Locate查找其在表中的位置, 阅读全文
posted @ 2023-06-06 16:02 杨与S8 阅读(51) 评论(0) 推荐(0)
摘要:1.顺序表 ​ 1.由于线性表中的每个数据元素的类型相同,所以一般选择一维数组来实现顺序表,又因为数组和线性表都有**”序号”这种概念,所以让线性表的序号和一维数组的下标一一对应是一个非常不错的选择,可以方便调用。但是请注意,数组的下标是从0开始计数的嗷,和线性表是刚好错开的哈,也就是说,线性表的第 阅读全文
posted @ 2023-04-16 18:20 杨与S8 阅读(37) 评论(0) 推荐(0)
摘要:1.线性表的抽象数据类型定义 1>Data 线性表中的数据元素具有相同类型,相邻元素具有前驱和后继关系。 2>InitList ​ 用于初始化线性表,一般不带有输入输出。不过可以用来将某些变量设定为初始值。 //举个栗子: InitList() { x=0; } 3>DestroyList ​ 用于 阅读全文
posted @ 2023-04-16 18:16 杨与S8 阅读(125) 评论(0) 推荐(0)
摘要:五、时间复杂度和空间复杂度 🟧 5.1、时间复杂度 在数据结构中,使用时间复杂度来衡量程序运行时间的多少。每条语句执行的次数称为该语句的频度,整段代码的总执行次数则称为整段代码的频度。 定义:在算法估算时,语句的执行次数T(n)是关于问题规模n的函数,从而分析T(n)随着n的变化的关系。算法的时间 阅读全文
posted @ 2023-04-16 10:34 杨与S8 阅读(245) 评论(0) 推荐(0)