![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
橡胶一厂
文章平均质量分 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 · 2315 阅读 · 0 评论 -
归并排序
一个丑陋的归并排序 #include using namespace std; #define ls l,mid #define rs mid+1,r #define mi (l+r)/2 const 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 · 447 阅读 · 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 · 459 阅读 · 0 评论 -
实验 图的基本操作
1、键盘输入数据,建立一个有向图的邻接表。 2、输出该邻接表。 3、在有向图的邻接表的基础上计算各顶点的度,并输出。 4、以有向图的邻接表为基础实现输出它的拓扑排序序列。 5、采用邻接表存储实现有向图的深度优先递归遍历。 6、采用邻接表存储实现有向图的广度优先遍历(利用队列实现)。 7、编写一个主函数,调试上述算法。 代码: #include using namespace st原创 2017-06-13 17:14:16 · 1566 阅读 · 0 评论 -
实验 线性表的有关操作
1、随机产生或键盘输入一组元素,建立一个带头结点的单向链表(无序)。 2、遍历单向链表(显示)。 3、把单向链表中元素逆置(不允许申请新的结点空间)。 4、在单向链表中删除所有的偶数元素(值为偶数)结点。 5、编写在非递减有序链表中插入一个元素使链表元素仍有序的函数,并利用该函数建立一个非递减有序单向链表。 6、利用算法5建立两个非递减有序单向链表,然后合并成一个非递增链表。 7、利用原创 2017-06-13 13:28:02 · 640 阅读 · 0 评论 -
修道士和野人问题
优化版 v1.0 i7 6500U 4G内存 2s内可以对 1000 2000 输入建图 建图复杂度取决于边数。 description: 假设有n个修道士和n个野人准备渡河,但只有一条能容纳c人的小船,为了防止野人侵犯修道士,要求无论在何处,修道士的个数不得少于野人的人数(除非修道士个数为0)。如果两种人都会划船,试设计一个算法,确定他们能否渡过河去,若能,则给出一个小船来回次数原创 2017-07-07 10:59:22 · 2012 阅读 · 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 · 506 阅读 · 0 评论 -
实验 排序的有关操作
给出n个学生的考试成绩表,每条信息由姓名和分数组成,试设计一个算法: 按分数高低次序,打印出每个学生在考试中获得的名次,分数相同的为同一名次;按名次列出每个学生的姓名与分数。 要求至少使用3种以上的排序方法(必须包含快速排序算法)。 代码: #include using namespace std; const int MAXN=8; typedef struct Stu{ in原创 2017-06-20 15:45:54 · 1434 阅读 · 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 · 862 阅读 · 0 评论 -
实验 二叉树的基本操作
1、 按先序次序输入二叉树中结点的值(一个字符),利用某个特殊字符(例如`@`)表示空树,生成二叉树的二叉链表存储结构。 2、 按先、中、后序递归遍历二叉树,之后结合栈的应用,将中序遍历算法改为非递归算法。 3、利用二叉树的递归算法求二叉树的高度 。 4、利用二叉树的递归算法求二叉树的叶子个数。 5、利用队列实现二叉树的层次遍历。 代码: #include using namespa原创 2017-06-13 00:11:54 · 1293 阅读 · 0 评论 -
实验 栈的有关操作
1、用顺序存储定义栈结构。写出这种存储方式下的算法实现,包括:初始化栈、判栈为空、出栈、入栈、求栈顶元素等运算,自己填写主函数。 2、利用顺序栈的基本操作,设计算法,实现将任意一个十进制整数转化为R进制整数 代码: #include using namespace std; const int MAXN=1e5+10; typedef struct istack{//..........原创 2017-06-13 13:29:21 · 563 阅读 · 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 · 1124 阅读 · 0 评论 -
最大最小元问题
一个简陋的nlogn最大最小元 代码: #include using namespace std; #define ls l,mid #define rs mid+1,r #define mi (l+r)/2 const 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 · 735 阅读 · 0 评论