数据结构
文章平均质量分 54
数据结构
code_Graham
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
BCIS算法
#include <iostream> #include <time.h> using namespace std; #define max 1000 //论文Bidirectional Conditional Insertion Sort algorithm; An efficient //progress on the classical insertion sort提到的算法 //减去了作者优化代码的部分 void SWAP(int* A, int i, in原创 2021-01-14 23:07:53 · 234 阅读 · 0 评论 -
二叉树基本操作:利用队列实现层序遍历
利用队列实现层序遍历 关于二叉树其他的基本操作可以看我前几篇文章: 二叉树的基本操作:二叉树的后序遍历非递归算法 二叉树的遍历:前序非递归和中序非递归 二叉树基本操作:二叉树的创建与递归遍历 基础知识: 直接调用C++内部的queue 要有头文件 #include 队列的基本操作: 定义一个queue的变量 queue Q 查看是否为空范例 Q.empty() 是的话返回1,不是返回0; 从已有元素后面增加元素 Q.push() 输出现有元素的个数 Q.size(原创 2020-10-15 22:08:35 · 1866 阅读 · 0 评论 -
二叉树的基本操作:二叉树的后序遍历非递归算法
二叉树的后序遍历非递归算法 关于 (1)如何利用前序遍历创建二叉树 (2)二叉树的前序、中序、后序递归遍历 (3)二叉树的前序、中序非递归遍历 都已经在之前两篇文章中说过了 利用前序遍历创建二叉树,二叉树的前序、中序、后序递归遍历 二叉树的前序、中序非递归遍历 接下来的代码主要是实现后序非递归遍历, 这里要用到新的结构体list用来存在栈中 思维图如下: 程序执行后,控制台窗口输入 ABDH##I##E##CF#J##G## 来构建二叉树 具体代码如下(之前的文章中代码也在): #include <原创 2020-10-15 21:31:42 · 2214 阅读 · 2 评论 -
二叉树的遍历:前序非递归和中序非递归
二叉树的遍历:前序非递归和中序非递归 ** (一)先利用前序遍历创建二叉树 详情可以见文章二叉树创建和递归遍历 ** 创建如图的二叉树 程序运行后,在控制台输入如下: ABDH##I##E##CF#J##G## 就可以创建好上图的二叉树 非递归遍历的算法如下: #include <iostream> #include <stack> using namespace std; typedef char datatype; //二叉树的左右链表示,也叫做二叉链表表示 typedef原创 2020-10-15 20:39:51 · 225 阅读 · 0 评论 -
二叉树基本操作:二叉树的创建与递归遍历
(一)利用前序遍历构建二叉树 (二)利用递归,分别按照前序、中序、后序遍历二叉树 创建的二叉树如下: 运行程序后,在控制台窗口输入: ABDH##I##E##CF#J##G## 来构建上图的二叉树 详细代码如下: #include <iostream> using namespace std; typedef char datatype; //二叉树的左右链表示,也叫做二叉链表表示 typedef struct node { datatype data; struct node* lch原创 2020-10-15 20:19:11 · 378 阅读 · 0 评论 -
第一周:基本概念
第一周:基本概念 1.1什么是数据结构 数据的组织形式与数据的规模相关 解决问题方法的效率与数据形式相关 例题:实现函数PrintN,传入参数正整数N后,能顺序打印从1到N的全部正整数 //方法一:循环实现 void PrintN(int N) { int i; for(i = 1;i<N;i++){ printf("%d\n",i); } return ; } //方法二:递归实现 void PrintN(int N){ if(N){ PrintN(N原创 2020-08-19 10:26:28 · 213 阅读 · 0 评论
分享