- 博客(53)
- 收藏
- 关注
原创 数据结构课程设计之航空订票系统
题目:航空订票系统功能:通过此系统可以录入、查询、修改航班情况,完成用户订票和退票功能并且可以保存客户和航班的资料。1, 录入航班信息。没个航班的信息包括航班号,起飞、抵达城市,座位总数,剩余座位数。数据存储在txt 文件中采用线性表的链式结构。2, 加载航班和客户信息。可以自动加载保存在txt 文件中的航班和客户的信息。3, 查询航班。可以通过输入航班号,查询该航班的
2015-12-24 16:31:10
14492
2
原创 期末回回首~
数据结构学期感悟 如果要用一个字来描述我心目中的数据结构,那么一定是——难! 如果要用一个词来说说老师,答案也毋庸置疑——标新立异!(而且好玩哈哈) 实际上,大一结束后的我完全不知道下学期将要学什么来替代C++,因为我觉得C++已经很难了,真的是万万没想到,出了这门算法与数据结构。一开始我觉得它就是C语言的升级版,因为老师还专门让我们可以先补补C语言,于是对新
2015-12-18 08:53:55
1106
1
原创 【项目 - B-树的基本操作】
问题及代码:实现B-树的基本操作。基于序列{4, 9, 0, 1, 8, 6, 3, 5, 2, 7}完成测试。 (1)创建对应的3阶B-树b,用括号法输出b树。 (2)从b中分别删除关键字为8和1的节点,用括号法输出删除节点后的b树。代码:#include #include #define MAXM 10 //定义B-树的最大的
2015-12-18 08:49:29
474
原创 第16周外部排序之【项目2】败者树归并模拟
编写程序,模拟改者树实现5路归并算法的过程。 设有5个文件,其中的记录的关键字如下: F0:{17,21,∞} F1:{5,44,∞} F2:{10,12,∞}F3: {29,32,∞} F4: {15,56,∞} 要求将其归并为一个有序段并输出。 假设这些输入文件数据保存在内存中,输出结果也不必输出到文件,而是在屏幕上输出即可。代码:#include #define
2015-12-18 08:39:42
457
原创 第16周外部排序【项目-1】置换-选择算法模拟
编写程序,模拟置换-选择算法生成初始归并段的过程。 设大文件中的记录共有18个: 15 4 97 64 17 32 108 44 76 9 39 82 56 31 80 73 255 68 内存工作区可以容纳5个记录,输出产生的归并段文件。 在模拟中,输入文件数据和输出的归并段数据均直接置在内存中即可。代码:#include #include #include #i
2015-12-18 08:35:25
660
原创 第16周【项目4 - 英文单词的基数排序】
【项目 - 英文单词的基数排序】 设计一个基数排序的算法,将一组英文单词,按字典顺序排列。假设单词均由小写字母或空格构成,最长的单词有MaxLen个字母。代码:#include #include #include #define MaxLen 9 //单词的最大长度#define Radix 27 //基数
2015-12-18 08:31:54
435
原创 第16周【项目3 - 归并排序算法的改进】
问题及代码:#include #include #include #include #define MinLength 64 //最短分段长度typedef int KeyType; //定义关键字类型typedef char InfoType[10];typedef struct //记录类型{ KeyType
2015-12-18 08:20:55
253
原创 第16周 项目2大数据集上排序算法性能的体验
main.cpp:1.测试用的主控程序——main.cpp #include #include #include #include #include "sort.h"void GetLargeData(RecType *&R, int n){ srand(time(0)); R=(RecType*)malloc(sizeof(RecTyp
2015-12-14 17:21:47
348
原创 第16周 项目1 之快速排序
问题及代码:1.以第一个元素为例#include #define MaxSize 20typedef int KeyType; //定义关键字类型typedef char InfoType[10];typedef struct //记录类型{ KeyType key; //关键字项 InfoType data;
2015-12-14 17:04:10
362
原创 第16周 项目1之希尔排序
1.希尔排序#include #define MaxSize 20typedef int KeyType; //定义关键字类型typedef char InfoType[10];typedef struct //记录类型{ KeyType key; //关键字项 InfoType data; //其他数据项
2015-12-14 16:50:55
287
原创 第16周 外部查找之验证算法(1)直接插入排序
问题及代码:1.直接插入排序#include #define MaxSize 20typedef int KeyType; //定义关键字类型typedef char InfoType[10];typedef struct //记录类型{ KeyType key; //关键字项 InfoType data;
2015-12-14 16:27:35
324
原创 第15周项目2++
问题及代码:(2)若处理冲突的方法采用链地址法,请设计算法,输出哈希表,并计算成功情况和不成功情况下的平均查找长度。 #include #include #include #define N 15#define M 26typedef struct node //定义哈希链表的节点类型{ char *key; struct node *
2015-12-07 16:47:41
304
原创 第15周【项目2 - 用哈希法组织关键字】
问题及代码:#include #include #define N 15#define M 26int H(char *s){ return ((*s-'a'+1)%M);}int main(){ char *s[N]= {"if", "while", "for", "case", "do", "break", "else", "st
2015-12-07 16:40:43
284
原创 第15周 项目1-验证算法
问题及代码:#include #define MaxSize 100 //定义最大哈希表长度#define NULLKEY -1 //定义空关键字值#define DELKEY -2 //定义被删关键字值typedef int KeyType; //关键字类型typedef char * InfoType;
2015-12-07 16:27:28
320
原创 第14周项目3-二叉排序树
问题及代码:#include #include typedef int KeyType;typedef char InfoType[10];typedef struct node //记录类型{ KeyType key; //关键字项 InfoType data;
2015-11-30 17:07:03
392
原创 第13周-项目4-项目4 - 利用遍历思想求解图问题
问题及代码:graph.h:#ifndef GRAPH_H_INCLUDED#define GRAPH_H_INCLUDED#define MAXV 100 //最大顶点个数#define INF 32767 //INF表示∞typedef int InfoType;//以下定义邻接矩阵类型typedef struc
2015-11-30 16:45:05
302
原创 第14周 项目2-分块查找
问题及代码:#include #define MAXL 100 //数据表的最大长度#define MAXI 20 //索引表的最大长度typedef int KeyType;typedef char InfoType[10];typedef struct{ KeyType key; //KeyType为关键字的数据
2015-11-30 16:34:51
316
原创 第14周 项目1-数据结构例程——线性表的折半查找
问题及代码:一:折半查找#include #define MAXL 100typedef int KeyType;typedef char InfoType[10];typedef struct{ KeyType key; //KeyType为关键字的数据类型 InfoType data; //
2015-11-30 16:19:21
448
原创 第13周 项目3 - 图遍历算法实现
问题及代码:graph.h代码:#ifndef GRAPH_H_INCLUDED#define GRAPH_H_INCLUDED#define MAXV 100 //最大顶点个数#define INF 32767 //INF表示∞typedef int InfoType;//以下定义邻接矩阵类型typedef str
2015-11-23 17:00:32
444
原创 第13周 项目2-操作用邻接表存储的图
问题及代码:利用下图作为测试用图,输出结果。#include #include #include "graph.h"//返回图G中编号为v的顶点的出度int OutDegree(ALGraph *G,int v){ ArcNode *p; int n=0; p=G->adjlist[v].firstarc; while (
2015-11-23 16:28:27
291
原创 第13周 项目1-图基本算法库
问题及代码:graph.cpp代码:#include #include #include "graph.h"//功能:由一个反映图中顶点邻接关系的二维数组,构造出用邻接矩阵存储的图//参数:Arr - 数组名,由于形式参数为二维数组时必须给出每行的元素个数,在此将参数Arr声明为一维数组名(指向int的指针)// n - 矩阵的阶数// g
2015-11-23 16:21:00
394
原创 第11周项目1-验证算法(4)哈夫曼树
问题及代码: #include #include #define N 50 //叶子结点数#define M 2*N-1 //树中结点总数//哈夫曼树的节点结构类型typedef struct{ char data; //结点值 double weight; //权重 int parent; /
2015-11-16 17:05:08
275
原创 第11周 项目1-验证算法(3)线索化二叉树(中序)
问题及代码:btree.cpp及btree.h代码详情参考二叉树算法库,main.cpp代码如下:#include #include #include "btree.h"BTNode *CreateBT1(char *pre,char *in,int n)/*pre存放先序序列,in存放中序序列,n为二叉树结点个数,本算法执行后返回构造的二叉链的根结点指针*/
2015-11-16 16:55:11
285
原创 第11周项目1-(2)二叉树构造算法验证
问题及代码:btree.cpp,btree.h代码参考二叉树算法库main.cpp代码如下:#include #include #include "btree.h"BTNode *CreateBT1(char *pre,char *in,int n)/*pre存放先序序列,in存放中序序列,n为二叉树结点个数,本算法执行后返回构造的二叉链的根结点指针*/{
2015-11-16 16:43:52
320
原创 第11周 项目1-验证算法(1)层次遍历算法的验证
问题及代码:btree.h及btree.cpp代码详情见:【二叉树算法库】main.cpp:#include #include "btree.h"void LevelOrder(BTNode *b){ BTNode *p; BTNode *qu[MaxSize]; //定义环形队列,存放节点指针 int front,rear; //定
2015-11-16 16:26:04
291
原创 第十周 项目3-利用二叉树遍历思想解决问题
问题及代码:/* Copyright (c)2015,烟台大学计算机与控制工程学院 All rights reserved. 文件名称:项目3.cbp 作 者:马笑媛完成日期:2015年11月9日 版 本 号:v1.0 问题描述:假设二叉树采用二叉链存储结构存储,分别实现以下算法,并在程序中完成测试: (1)计算二叉树节点个数;
2015-11-09 17:13:20
308
原创 第十周 项目2-二叉树遍历的递归算法
问题及代码:btree.h及btree.cpp参考二叉树算法库main.cpp:#include #include "btree.h"void PreOrder(BTNode *b) //先序遍历的递归算法{ if (b!=NULL) { printf("%c ",b->data); //访问根节点 P
2015-11-09 16:40:53
479
原创 第十周 项目1 二叉树算法库
问题及代码:btree.h代码:#ifndef BTREE_H_INCLUDED#define BTREE_H_INCLUDED#define MaxSize 100typedef char ElemType;typedef struct node{ ElemType data; //数据元素 struct node *
2015-11-06 08:48:40
342
原创 第九周项目4-广义表算法库及应用(2)
问题及代码:#include #include "glist.h"int atomnum(GLNode *g) //求广义表g中的原子个数{ if (g!=NULL) { if (g->tag==0) return 1+atomnum(g->link); else re
2015-11-02 17:17:03
560
原创 第九周项目4-广义表算法库及应用(1)
问题及代码:glist.h代码:#ifndef GLIST_H_INCLUDED#define GLIST_H_INCLUDEDtypedef char ElemType;typedef struct lnode{ int tag; //节点类型标识 union { ElemType
2015-11-02 17:02:21
506
原创 第九周 项目3-稀疏矩阵的三元组表示的实现及应用
问题及代码:tup.h代码:#ifndef TUP_H_INCLUDED#define TUP_H_INCLUDED#define M 6#define N 7#define MaxSize 100 //矩阵中非零元素最多个数typedef int ElemType;typedef struct{ int r;
2015-10-30 08:53:51
284
原创 第九周 项目2 - 对称矩阵压缩存储的实现与应用
问题及代码:/* Copyright (c)2015,烟台大学计算机与控制工程学院 All rights reserved. 文件名称:项目1.cbp 作 者:马笑媛完成日期:2015年10月30日 版 本 号:v1.0 问题描述:用压缩形式存储对称矩阵,实现下面的操作并测试 void Init(int *&b);//为N阶对称矩
2015-10-30 08:47:11
349
原创 第九周 项目1-猴子选大王(数组)
问题及代码:/* Copyright (c)2015,烟台大学计算机与控制工程学院 All rights reserved. 文件名称:项目1.cbp 作 者:马笑媛完成日期:2015年10月30日 版 本 号:v1.0 问题描述:一群猴子,编号是1,2,3 …m,这群猴子(m个)按照1-m的顺序围坐一圈。从第1只开始数,每数
2015-10-30 08:40:50
268
原创 第八周 项目1-建立顺序串的算法库
问题及代码:sqString.h代码如下:#ifndef SqString_H_INCLUDED#define SqString_H_INCLUDED#define MaxSize 100 //最多的字符个数typedef struct{ char data[MaxSize]; //定义可容纳MaxSize个字符的空间
2015-10-30 08:25:08
241
原创 第七周 项目6 停车场模拟
问题及模拟:#include #include #define N 3 /*停车场内最多的停车数*/#define M 4 /*候车场内最多的停车数*/#define Price 2 /*每单位时间停车费用*/typedef struct{ int CarNo[N];
2015-10-29 20:58:03
347
原创 第七周项目5-排队看病模拟
问题及代码:#include #include typedef struct qnode{ int data; struct qnode *next;} QNode; /*链队结点类型*/typedef struct{ QNode *front,*rear;} QuType; /*链队类型*
2015-10-27 17:15:22
249
原创 第七周 项目4 队列数组
问题及代码:liqueue.h#ifndef LIQUEUE_H_INCLUDED#define LIQUEUE_H_INCLUDEDtypedef int ElemType;typedef struct qnode{ ElemType data; struct qnode *next;} QNode; //链队数据结点类型定义
2015-10-26 16:47:53
241
原创 第七周项目3 负数把正数赶出去
问题及代码:/* *Copyright(c) 2015,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:test.cpp *作 者:马笑媛 *完成日期:2015.10.23 *版 本 号:v1.0 * *问题描述:设从键盘输入一整数序列a1,a2,…an,试编程实现:当ai>0时,ai进队,
2015-10-23 09:17:19
257
原创 第七周项目二建立链队算法库
问题及代码:main.cpp代码://main.cpp#include #include "liqueue.h"int main(){ ElemType e; LiQueue *q; printf("(1)初始化链队q\n"); InitQueue(q); printf("(2)依次进链队元素a,b,c\n");
2015-10-23 08:49:28
290
原创 第七周项目1 建立顺序环形队列算法库
问题及代码:/* *Copyright(c) 2015,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:test.cpp *作 者:马笑媛 *完成日期:2015.10.23 *版 本 号:v1.0 * *问题描述: 定义顺序环形队列存储结构,实现其基本运算,并完成测试。 *输入描述: *程序输出:*/s
2015-10-23 08:32:57
330
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人