本问题要实现直接插入、冒泡、快速、简单选择、归并、堆排序六种排序算法的简单运用及比较,分析他们的稳定性及在不同规模下的复杂度,了解在什么情况下使用什么排序算法比较合适;待排序的元素好吗关键字为整数,其中的数据要用伪随机产生程序产生,至少用5组不同的输入数据作比较,要使用各种算法对其进行排序,记录排序时间、比较次数、交换次数,再汇总比较;演示程序以人机对话的形式进行,每次测试完毕显示各种比较指标值的列表,以便比较各种排序的优劣;程序还可以考虑几组数据的典型性,如:正序、逆序和不同程度的乱序,注意采用分块调试的办法。
1
十字链表实现稀疏矩阵加法和乘法
2022-12-17 21:24:32 7KB 数据结构实验
1
建立二叉树的二叉链表存储结构实现以下操作(选择其中的两个做) (1)输出二叉树 (2)先序遍历二叉树 (3) 中序遍历二叉树 (4)后序遍历二叉树 (5)层次遍历二叉树
1
面试必备:数据结构与算法面试题 最新2023整理版
2022-12-17 11:25:34 4.72MB 面试 数据结构 算法
1
数据库期末整理资料
2022-12-16 12:16:34 6.12MB 数据结构
1
最小生成树的构造,以及求最小生成树的 普利姆算法和克鲁斯卡尔算法,C++实现算法
2022-12-16 12:13:39 801KB 最小生成树
1
栈(中缀表达式转后缀表达式)原理及代码实现 1. 逆波兰表达式的介绍 2. 中缀转后缀的原因 3. 存储特点和原理 4. 栈实现中缀转后缀的思路 5. 代码实现 6. 注意事项 一,逆波兰表达式的介绍 前缀: 前缀表达式又称波兰式,前缀表达式的运算符位于操作数之前 举例说明: (3+4)×5-6 对应的前缀表达式就是 – × + 3 4 5 6 中缀:不再多说。 后缀: 逆波兰表达式,与前缀表达式相似,只是运算符位于操作数之后,例如: (3+4)×5-6 对应的后缀表达式就是 3 4 + 5 × 6 – 二,中缀转后缀 为什么要中缀转后缀呢?WHY?我中缀表达式看的多爽为啥要转换?但是呢计算机
2022-12-16 11:28:55 59KB 括号 数据 数据结构
1
包含非常详细的Java版本的数据结构的实验课资源,一周一周的内容安排得非常仔细。
2022-12-16 10:10:00 942KB 数据结构 实验报告 Java版本
1
二叉树遍历问题 //二叉树的结构定义 typedef struct csNode { char data; struct csNode*lchild; struct csNode*rchild; } Csnode,*tree; //二叉树的建立 void CreatTree(tree *T) { char ch; cin>>ch; if(ch=='#') *T=NULL; else { *T=new Csnode; if(!T) return; (*T)->data=ch; printf("请输入%c的左子树: ",ch); CreatTree(&(*T)->lchild); printf("请输入%c的右子树: ",ch); CreatTree(&(*T)->rchild); } } //前序遍历算法 void PreCreat(tree T) { if(T==NULL) return ; cout<data<<" "; PreCreat(T->lchild); Pr
2022-12-16 09:15:07 13KB 数据结构
1
满二叉树的前序遍历 //二叉树的结构定义 typedef struct csNode { char data; struct csNode*lchild; struct csNode*rchild; } Csnode,*tree; //二叉树的建立 void CreatTree(tree *T) { char ch; cin>>ch; if(ch=='#') *T=NULL; else { *T=new Csnode; if(!T) return; (*T)->data=ch; printf("请输入%c的左子树: ",ch); CreatTree(&(*T)->lchild); printf("请输入%c的右子树: ",ch); CreatTree(&(*T)->rchild); } } //前序遍历算法 void PreCreat(tree T) { if(T==NULL) return ; cout<data<<" "; PreCreat(T->lchild);
2022-12-16 09:15:06 14KB 数据结构
1