
橡胶一厂
文章平均质量分 61
DT2131
Rage, rage against the dying of the light.Do not go gentle into that good night.
展开
-
实验 哈希表线性探测再散列
将上面的数据利用长度为15的哈希表存储,输出存储后的哈希表。哈希函数采用key%13,用线性探测再散列解决冲突,设计并实现查找运算。代码:#include using namespace std;const int MAXN=15;typedef struct HashList{ int elem[MAXN],mod; HashList(){ for(原创 2017-06-20 13:49:44 · 2358 阅读 · 0 评论 -
归并排序
一个丑陋的归并排序#include using namespace std;#define ls l,mid#define rs mid+1,r#define mi (l+r)/2const int MAXN=1e6+7;int a[MAXN],b[MAXN];void conbine(int l,int mid,int r){ int lp=l,rp=mid+1,pos原创 2017-09-18 14:58:51 · 493 阅读 · 0 评论 -
棋盘覆盖问题
题意: 经典棋盘覆盖问题代码:#include using namespace std;const int MAXN=5e3;int n,posx,posy;int mp[MAXN][MAXN];int two[15];/*1:#***2:**#*3:*#**4:***#*/void show(){ for(int i原创 2017-09-18 14:56:53 · 494 阅读 · 0 评论 -
实验 图的基本操作
1、键盘输入数据,建立一个有向图的邻接表。2、输出该邻接表。3、在有向图的邻接表的基础上计算各顶点的度,并输出。4、以有向图的邻接表为基础实现输出它的拓扑排序序列。5、采用邻接表存储实现有向图的深度优先递归遍历。6、采用邻接表存储实现有向图的广度优先遍历(利用队列实现)。7、编写一个主函数,调试上述算法。代码:#include using namespace st原创 2017-06-13 17:14:16 · 1622 阅读 · 0 评论 -
实验 线性表的有关操作
1、随机产生或键盘输入一组元素,建立一个带头结点的单向链表(无序)。2、遍历单向链表(显示)。3、把单向链表中元素逆置(不允许申请新的结点空间)。4、在单向链表中删除所有的偶数元素(值为偶数)结点。5、编写在非递减有序链表中插入一个元素使链表元素仍有序的函数,并利用该函数建立一个非递减有序单向链表。6、利用算法5建立两个非递减有序单向链表,然后合并成一个非递增链表。7、利用原创 2017-06-13 13:28:02 · 679 阅读 · 0 评论 -
修道士和野人问题
优化版 v1.0i7 6500U 4G内存 2s内可以对 1000 2000 输入建图建图复杂度取决于边数。description:假设有n个修道士和n个野人准备渡河,但只有一条能容纳c人的小船,为了防止野人侵犯修道士,要求无论在何处,修道士的个数不得少于野人的人数(除非修道士个数为0)。如果两种人都会划船,试设计一个算法,确定他们能否渡过河去,若能,则给出一个小船来回次数原创 2017-07-07 10:59:22 · 2097 阅读 · 0 评论 -
实验 队列的有关操作
1、用顺序存储来定义循环队列结构。编程实现,初始化队列、判队列为空、出队列、入队列、求队列头部元素等运算,自己填写主函数。2、利用队列打印杨辉三角形。代码:#include using namespace std;const int MAXN=24;typedef struct Cqueue{ int elem[MAXN]; int head,tail;原创 2017-06-13 00:15:54 · 548 阅读 · 0 评论 -
实验 排序的有关操作
给出n个学生的考试成绩表,每条信息由姓名和分数组成,试设计一个算法:按分数高低次序,打印出每个学生在考试中获得的名次,分数相同的为同一名次;按名次列出每个学生的姓名与分数。要求至少使用3种以上的排序方法(必须包含快速排序算法)。代码:#include using namespace std;const int MAXN=8;typedef struct Stu{ in原创 2017-06-20 15:45:54 · 1470 阅读 · 0 评论 -
实验 二叉排序树
掌握二叉排序树的查找、插入、删除、建立算法的思想及程序实现。代码:#include using namespace std;typedef struct Node{ Node *ls,*rs; int val;}Node;typedef struct BSTree{ Node *root; BSTree(){root=NULL;}public:原创 2017-06-20 13:27:26 · 921 阅读 · 0 评论 -
实验 二叉树的基本操作
1、 按先序次序输入二叉树中结点的值(一个字符),利用某个特殊字符(例如`@`)表示空树,生成二叉树的二叉链表存储结构。2、 按先、中、后序递归遍历二叉树,之后结合栈的应用,将中序遍历算法改为非递归算法。3、利用二叉树的递归算法求二叉树的高度 。4、利用二叉树的递归算法求二叉树的叶子个数。5、利用队列实现二叉树的层次遍历。代码:#include using namespa原创 2017-06-13 00:11:54 · 1341 阅读 · 0 评论 -
实验 栈的有关操作
1、用顺序存储定义栈结构。写出这种存储方式下的算法实现,包括:初始化栈、判栈为空、出栈、入栈、求栈顶元素等运算,自己填写主函数。2、利用顺序栈的基本操作,设计算法,实现将任意一个十进制整数转化为R进制整数代码:#include using namespace std;const int MAXN=1e5+10;typedef struct istack{//..........原创 2017-06-13 13:29:21 · 630 阅读 · 0 评论 -
实验 折半查找算法
掌握折半查找算法的思想及程序实现。代码:#include using namespace std;typedef struct BSearch{ int elem[20];public: void ini(){ for(int i=0;i<20;i++) elem[i]=rand()%91; sort(elem,elem+20);原创 2017-06-20 16:01:07 · 1169 阅读 · 0 评论 -
最大最小元问题
一个简陋的nlogn最大最小元代码:#include using namespace std;#define ls l,mid#define rs mid+1,r#define mi (l+r)/2const int MAXN=1e6+7;int a[MAXN];int maxn(int l,int r){ if(l==r) return a[l]; int原创 2017-09-18 15:00:02 · 782 阅读 · 0 评论