- 博客(38)
- 收藏
- 关注
原创 程序设计——校园导游系统
/*烟台大学计算机学院作者:董玉祥时间:2017 12 21*/main.cpp#include #include #include "graph.h"#include "link.h"int main(){ Graph *g; g=(Graph*)malloc(sizeof(Graph)); //初始的七个景点 JD jd[MAXV]=
2017-12-21 09:35:26 1560
原创 数据结构学期总结
/*烟台大学计算机与控制工程学院作者:董玉祥日期: 12 14*/ 本学期跟着贺老师以翻转课堂的学习方式学习了数据结构这一课程。刚接触这种学习方式,开始时有些许不适应,但慢慢的发现这种学习方式很有效,可以根据自己的理解能力、学习能力自己合理的安排学习方式。(虽然平时的完成情况也不是很好)以下是通过O/R/I/D的方式总结:O:通过课下的视频学习,上机实践,使我从线
2017-12-14 13:39:01 287
原创 第十三周——项目三“是否二叉排序树”
/*烟台大学计算机学院 作者:董玉祥 完成日期: 2017 12 3 问题描述:是否二叉排序树 */#include #include #define MaxSize 100typedef int KeyType; //定义关键字类型typedef char InfoType;typedef struct node
2017-12-03 13:39:10 192
原创 第十三周 ——项目二 “二叉树排序树中查找的路径”
/*烟台大学计算机学院 作者:董玉祥 完成日期: 2017 12 3 问题描述:二叉树排序树中查找的路径 */#include #include #define MaxSize 100typedef int KeyType; //定义关键字类型typedef char InfoType;typedef struct node
2017-12-03 13:34:01 227
原创 第十二周——“Dijkstra算法的验证”
/*烟台大学计算机学院 作者:董玉祥 完成日期: 2017 12 3 问题描述:Dijkstra算法的验证 */#include #include #include "graph.h"#define MaxSize 100void Ppath(int path[],int i,int v) //前向递归查找路径上的顶点{ int k; k=path[
2017-12-03 13:18:25 188
原创 第十二周 ——“最小生成树的克鲁斯卡尔算法”
/*烟台大学计算机学院 作者:董玉祥 完成日期: 2017 12 3 问题描述:最小生成树克鲁斯卡尔算法 */#include #include #include "graph.h"#define MaxSize 100typedef struct{ int u; //边的起始顶点 int v; //边的终止顶点 int w;
2017-12-03 13:13:10 184
原创 第十二周 —— “最小生成树普里姆算法”
/*烟台大学计算机学院 作者:董玉祥 完成日期: 2017 12 3 问题描述:最小生成树普里姆算法 */#include #include #include "graph.h"void Prim(MGraph g,int v){ int lowcost[MAXV]; //顶点i是否在U中 int min; int close
2017-12-03 13:09:16 217
原创 第十一周 项目三 “深度优先遍历”
/*烟台大学计算机学院 作者:董玉祥 完成日期: 2017 12 3 问题描述:图遍历算法实现 */深度优先遍历#include #include #include "graph.h"int visited[MAXV];void DFS(ALGraph *G, int v){ ArcNode *p; int w; visite
2017-12-03 12:21:00 176
原创 第十一周 项目二 ——“操作用邻接表存储的图”
/*烟台大学计算机学院 作者:董玉祥 完成日期: 2017 12 3 问题描述:(1)输出出图G中每个顶点的出度; (2)求出图G中出度最大的一个顶点,输出该顶点编号; (3)计算图G中出度为0的顶点数; (4)判断图G中是否存在边i,j>。 */#include #include #include "graph.h"//返回图G中编
2017-12-03 12:10:45 208
原创 第十一周 --项目一“图基本算法库”
/*烟台大学计算机学院 作者:董玉祥 完成日期: 2017 12 3 问题描述:图基本算法库 */graph.h#ifndef GRAPH_H_INCLUDED#define GRAPH_H_INCLUDED#define MAXV 100 //最大顶点个数#define INF 32767 //INF表示∞typedef
2017-12-03 11:08:24 191
原创 第十三周——项目一 验证算法
/*烟台大学计算机学院 作者:董玉祥 完成日期: 2017 11 28 问题描述:1.折半查找 2.分块查找 3.二叉排序树 */1.#include typedef int KeyType;typedef char InfoType;typedef struct{ KeyType key; InfoType data;} RecType;int
2017-11-28 21:04:34 221
原创 第十周——项目二”用二叉树求解表达式“
/*烟台大学计算机学院 作者:董玉祥 完成日期: 2017 11 12 */#include "stdio.h"#include #include #include "btree.h"//用s[i]到s[j]之间的字符串,构造二叉树的表示形式BTNode *CRTree(char s[],int i,int j){ BTNode *p; int k
2017-11-12 13:17:20 465
原创 第十周——项目一(1)(2)
/*烟台大学计算机学院 文件名称:btree 作者:董玉祥 完成日期: 2017 11 12 问题描述:(1)层次遍历算法的验证 (2)二叉树构造算法的验证 */(1)层次遍历算法的验证:#include "stdio.h"#include "btree.h"#include "malloc.h"void LevelOrder(BTNode *b) //层次遍历{
2017-11-12 11:05:49 173
原创 第八周——“对称矩阵压缩存储的实现与应用”
/*烟台大学计算机学院 文件名称:yasuojuzhen 作者:董玉祥 完成日期: 2017 11 04 */(1)#include #include #define N 5void Init(int *&b) //初始化{ b=(int *)malloc(sizeof(int)*(N*(N+1))/2);}void Assign(int b[],i
2017-11-04 17:19:25 194
原创 第九周——项目3 - 利用二叉树遍历思想解决问题
/*烟台大学计算机学院 文件名称:btree 作者:董玉祥 完成日期: 2017 10 28问题描述:(1)计算二叉树节点个数; (2)输出所有叶子节点; (3)求二叉树b的叶子节点个数; (4)设计一个算法Level(b,x,h),返回二叉链b中data值为x的节点的层数。 (5)判断二叉树是否相似(关于二叉树t1和t2相似的判断:①t1和
2017-10-28 22:31:03 211
原创 第九周——项目二 “遍历二叉树”
/*烟台大学计算机学院 文件名称:btree 作者:董玉祥 完成日期: 2017 10 28 问题描述:实现二叉树的先序、中序、后序遍历的递归算法,并对用”A(B(D,E(H(J,K(L,M(,N))))),C(F,G(,I)))”创建的二叉树进行测试。 */#include #include "btree.h"void PreOrder(BTNode *b)
2017-10-28 17:03:44 157
原创 第九周——项目一“二叉树算法库”
/*烟台大学计算机学院 文件名称:btree 作者:董玉祥 完成日期: 2017 10 28 问题描述:建立二叉树算法库 */btree.h#ifndef BTREE_H_INCLUDED#define BTREE_H_INCLUDED#define MaxSize 100typedef char ElemType;typedef struct node{
2017-10-28 16:52:58 199
原创 第八周——项目二 “顺序串算法”
/*烟台大学计算机学院 文件名称:chuan 作者:董玉祥 完成日期: 2017 10 24 问题描述:完成下列串的算法,并测试。 */#include #include "chuan.h"using namespace std;void Trans(SqString &s,char c1,char c2){ int i; for(i=0; i<s.
2017-10-24 18:14:09 170
原创 第八周——项目1“建立顺序串的算法库”
/*烟台大学计算机学院 文件名称:chuan 作者:董玉祥 完成日期: 2017 10 22 问题描述:建立顺序串的算法库 */源代码:chuan.h#ifndef CHUAN_H_INCLUDED#define CHUAN_H_INCLUDED#define MaxSize 100typedef struct{ char data[MaxSize];
2017-10-22 16:36:09 193
原创 第七周——项目4—“队列数组”
/*烟台大学计算机学院 文件名称:liandui 作者:董玉祥 完成日期: 2017 10 21 问题描述:链队数组 创建10个队列,分别编号为0-9.输入若干整数,以数字0作为结束。设输入的值为x,其个位数字的大小为i,则将x插入到编号为i的队列中。最后输出所有非空队列。 */源代码:#include #include "liandui.h"#define N
2017-10-21 15:43:13 204
原创 第七周——项目三 “负数把整数赶出队列”
/*烟台大学计算机学院 文件名称:squeue 作者:董玉祥 完成日期: 2017 10 21问题描述:负数把整数赶出队列 */源代码:#include #include "sqqueue.h"using namespace std;int main(){ ElemType a; SqQueue *q; InitQueue(q);
2017-10-21 13:01:00 163
原创 第五周—项目3——括号的匹配
/*烟台大学计算机学院 文件名称:kuohaodepipei 作者:董玉祥 完成日期: 2017 10 15 问题描述:括号的匹配(栈) */问题及代码:#include #include "linkstnode.h"int main(){ ElemType c; LinkStNode *q; int d=1; char st[50]
2017-10-15 21:50:38 242
原创 第五周——项目二—建立链栈算法库
/*烟台大学计算机学院 文件名称:lianzhan 作者:董玉祥 完成日期: 2017 10 15 问题描述:建立链栈算法库 */linkstnode.h#ifndef LINKSTNODE_H_INCLUDED#define LINKSTNODE_H_INCLUDEDtypedef char ElemType;typedef struct linknode{
2017-10-15 13:27:50 319
原创 第五周——项目一 自建算法库 “顺序栈”
/*烟台大学计算机学院 文件名称:sqstack 作者:董玉祥 完成日期: 2017 10 14 问题描述:建立顺序栈算法库 */代码:sqstack.h#define SQSTACK_H_INCLUDED#define MaxSize 100typedef char ElemType;typedef struct{ ElemType data[M
2017-10-14 18:18:54 183
原创 第七周——项目二——自建算法库—链队
/*烟台大学计算机学院 文件名称:liandui 作者:董玉祥 完成日期: 2017 10 14问题描述:自建算法库——链队 */问题及代码:liandui.h#ifndef LIANDUI_H_INCLUDED#define LIANDUI_H_INCLUDEDtypedef char ElemType;typedef struct qnode{ El
2017-10-14 17:59:10 195
原创 第七周——项目一 自建算法库——顺序环形队列
/*烟台大学计算机学院 文件名称:sqqueue 作者:董玉祥 完成日期: 2017 10 14问题描述:自建算法库——顺序环形队列 */代码:sqqueue.h#ifndef SQQUEUE_H_INCLUDED#define SQQUEUE_H_INCLUDED#define MaxSize 5typedef char ElemType;typedef str
2017-10-14 17:57:06 222
原创 第四周——项目4 - 建设双链表算法库
/*烟台大学计算机学院 文件名称:dLinkList 作者:董玉祥 完成日期: 2017 10 10问题描述:*/代码: dLinkList.htypedef int ElemType;typedef struct DNode //定义双链表结点类型{ ElemType data; struct DNode *prior; //指向
2017-10-10 19:46:15 205
原创 第四周——项目3 - 单链表应用
/*烟台大学计算机学院 文件名称:LinkList 作者:董玉祥 完成日期: 2017 10 10 */ 问题及代码:1、设计一个算法,将一个带头结点的数据域依次为a1,a2,…,an(n≥3)的单链表的所有结点逆置,即第一个结点的数据域变为an,…,最后一个结点的数据域为a1。实现这个算法,并完成测试。#include #include #
2017-10-10 15:40:31 308
原创 第四周——项目1 - 建立单链表
/*烟台大学计算机学院 文件名称:LinkList 作者:董玉祥 完成日期: 2017 10 6 问题描述:定义单链表存储结构,用头插法和尾插法建立单链表,并显示建立好以后的结果 */问题及代码:#include #include typedef int ElemType;typedef struct LNode //定义单链表
2017-10-06 10:58:47 229
原创 第四周—项目2 - 建设“单链表”算法库
/*烟台大学计算机学院 文件名称:LinkList 作者:董玉祥 完成日期:2017 10 6 问题描述:算法库包括两个文件: 头文件:linklist.h,包含定义顺序表数据结构的代码、宏定义、要实现算法的函数的声明; 源文件:linklist.cpp,包含实现各种算法的函数的定义 请采用程序的多文件组织形式,建立如上的两个文件,另外
2017-10-06 10:49:13 187
原创 第三周项目4 - 顺序表应用
/*烟台大学计算机学院 文件名称:main.cpp 作者:董玉祥 完成日期: 2017 9 24 问题描述:定义一个采用顺序结构存储的线性表,设计算法完成下面的工作: 1、删除元素在[x, y]之间的所有元素,要求算法的时间复杂度为O(n),空间复杂度为O(1); 2、将所在奇数移到所有偶数的前面,要求算法的时间复杂度为O(n),空间复杂度为O(1)。
2017-09-24 17:08:29 152
原创 第三周项目3 - 求集合并集
/*烟台大学计算机学院 文件名称:main.cpp 作者:董玉祥 完成日期: 2017 9 24 问题描述:假设有两个集合 A 和 B 分别用两个线性表 LA 和 LB 表示,即线性表中的数据元素即为集合中的成员。设计算法,用函数unionList(List LA, List LB, List &LC )函数实现该算法,求一个新的集合C=A∪B,即将两个集合的并集放在线性表LC
2017-09-24 09:05:20 277
原创 第三周项目2 - 建设“顺序表”算法库
/*烟台大学计算机学院 文件名称:list 作者:董玉祥 完成日期: 2017 9 23 问题描述:算法库包括两个文件: 头文件:list.h,包含定义顺序表数据结构的代码、宏定义、要实现算法的函数的声明; 源文件:list.cpp,包含实现各种算法的函数的定义 请采用程序的多文件组织形式,在项目1的基础上,建立如上的两个文件,另外再建立一个源文件,编制main函数,完成相
2017-09-23 14:37:28 187
原创 第三周项目 1 顺序表的基本运算
/*烟台大学计算机学院 文件名称:项目三.cpp 作者:董玉祥 完成日期: 2017 9 20 问题描述:目的是要测试“建立线性表”的算法CreateList,为查看建表的结果,需要实现“输出线性表”的算法DispList。在研习DispList中发现,要输出线性表,还要判断表是否为空,这样,实现判断线性表是否为空的算法ListEmpty成为必要。这样,再加上main函数,这个
2017-09-20 19:50:11 157
原创 第二周项目三(2)
/*烟台大学计算机学院 文件名称:汉诺塔.cpp 作者:董玉祥 完成日期: 2017 9 19问题描述:用递归算法求解汉诺塔问题,其复杂度可以求得为O(2n),是指数级的算法。请到课程主页下载程序运行一下,体验盘子数discCount为4、8、16、20、24时在时间耗费上的差异,你能忍受多大的discCount */#include #define discCoun
2017-09-19 17:02:50 312
原创 第二周项目三(1)两种排序算法的运行时间
/*烟台大学计算机学院 文件名称:snage.cpp 作者:董玉祥 完成日期: 2017年9月17日问题描述:排序是计算机科学中的一个基本问题,产生了很多种适合不同情况下适用的算法,也一直作为算法研究的热点。本项目提供两种排序算法,复杂度为O(n2)的选择排序selectsort,和复杂度为O(nlogn)的快速排序quicksort,在main函数中加入了对运行时
2017-09-17 14:53:25 248
原创 第二周项目二——程序的多文件组织
/*烟台大学计算机学院 文件名称:san.cpp main.cpp sss.h 作者:董玉祥 完成日期: 2017年9月17日 问题描述: (1) .h 头文件:定义数据类型、声明自定义函数、定义宏等 (2).cpp 源文件1:用于实现头文件中声明的自定义函数 (3).cpp 源文件2:定义main()函数,用于调用相关函数,实现问题求解目标。 */
2017-09-17 14:23:10 249
原创 第二周项目一 ——函数参数传值的三种方式
/*烟台大学计算机学院 文件名称:san.cpp 作者:董玉祥 完成日期:2017年9月17日 问题描述:交换数值 输入描述:输入两个整数,交换二者的值并输出(三种方法) 输出描述:输出交换后的值 */问题及代码:传值:#include "iostream"using namespace std;void swap1(int x, int y){
2017-09-17 12:01:21 237
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人