数据结构教程
文章平均质量分 76
南城花未眠
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
第2周 项目2-程序的多文件组织
main.cpp中的代码: /* *Copyright (c) 2017,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称: *作 者:陈军正 *完成日期:2017年9月13日 *版 本 号:v1.0 * *问题描述:学习数据结构,目标就是要编制出有相当规模的程序的。 将所有的代码放在一个文件中的做法,不能适用现阶段的需求了。 通过这个项原创 2017-09-13 10:34:48 · 185 阅读 · 0 评论 -
第八周 项目1 - 建立顺序串的算法库
sqString.h 代码: /* Copyright (c)2017,烟台大学计算机与控制工程学院 All rights reserved. 文件名称:第8周项目1 - 建立顺序串的算法库.cpp 作 者:陈军正 完成日期:2017年11月2日 版 本 号:v1.0原创 2017-11-02 10:16:21 · 238 阅读 · 0 评论 -
第8周 项目4-稀疏矩阵的三元组表示的实现及应用(1)
/* * Copyright(c) 2017,烟台大学计算机学院 * All rights reserved. * 文件名称:cpp1. * 作 者:陈军正 * 完成日期:2017 年 12 月 7 日 * 版 本 号:v1.0 * * 问题描述:建立稀疏矩阵三元组表示的算法库,包括: ① 头文tup.h,定义数据类型,声明函数; ② 源文件tup.cpp,实现稀疏矩阵三元原创 2017-12-08 18:17:18 · 260 阅读 · 0 评论 -
第8周 项目3- 对称矩阵压缩存储的实现与应用(3)
/* * Copyright(c) 2017,烟台大学计算机学院 * All rights reserved. * 文件名称:a.cpp * 作 者:陈军正 * 完成日期:2017 年 10 月 19 日 * 版 本 号:v1.0 * * 问题描述:写出对上、下三角矩阵、对角矩阵的压缩存储结构,以及相关的基本运算的实现 * 输入描述:请输入对称矩阵(只需要输入下三角部分)原创 2017-12-08 18:17:44 · 269 阅读 · 0 评论 -
第8周 项目3- 对称矩阵压缩存储的实现与应用(2)
/* * Copyright(c) 2017,烟台大学计算机学院 * All rights reserved. * 文件名称:a.cpp * 作 者:陈军正 * 完成日期:2017 年 12 月 7 日 * 版 本 号:v1.0 * * 问题描述: 设计算法,实现两个用压缩形式存储的对称矩阵A和B的加法和乘法。实现中请使用好前面设计的基本运算。 * 输入描述:无需输入 *原创 2017-12-07 11:18:56 · 232 阅读 · 1 评论 -
第8周 项目4-稀疏矩阵的三元组表示的实现及应用(2)
/* * Copyright(c) 2017,烟台大学计算机学院 * All rights reserved. * 文件名称:cpp1. * 作 者:陈军正 * 完成日期:2017 年 12 月 8 日 * 版 本 号:v1.0 * * 问题描述:采用三元组存储稀疏矩阵,设计两个稀疏矩阵相加的运算算法 提示1:两个行数、列数相同的矩阵可以相加 提示2:充分利用已经建立好的原创 2017-12-08 18:24:51 · 190 阅读 · 0 评论 -
第九周 项目2 - 二叉树遍历的递归算法
/* Copyright (c)2017,烟台大学计算机与控制工程学院 All rights reserved. 文件名称:第九周 项目2 - 二叉树遍历的递归算法.cpp 作 者:陈军正 完成日期:2017年11月23日 版 本 号:v1.0 */原创 2017-11-23 10:42:51 · 215 阅读 · 0 评论 -
第九周 项目3 利用二叉树遍历思想解决问题
Copyright (c)2017,烟台大学计算机与控制工程学院 All rights reserved. 文件名称:第⑨周项目3 - 利用二叉树遍历思想解决问题.cpp 作 者:陈军正 完成日期:2017年12月3日 版 本 号:v1.0 问题描述: 假设二叉树采用二叉链存储结构存储,分别实现以下算法,并在程序中完成测试: (1)计算二叉树原创 2017-12-03 20:20:56 · 170 阅读 · 0 评论 -
数据结构课程设计 飞机订票系统
head.h /******************** * 版权所有 (C)2017, ChenJunZheng。 * * 文件名称: head.cpp * 文件标识:无 * 内容摘要:定义航班和用户的信息,完成各个函数的声明 * 其它说明:无 * 当前版本: V1.0 * 作 者:陈军正 * 完成日期: 20171222 * * 修改记录1: * 修改日期: 20171222 * 版本号:原创 2017-12-22 09:23:59 · 6930 阅读 · 1 评论 -
数据结构课程大总结
O:通过跟着贺老师一个学期的学习,按部就班的跟着贺老师的视频学习,并且以课本为辅,对数据结构与算法有了更好的理解。本学期我们接触了:数据结构与算法的概念、线性表的知识、栈、队列、串、数组和广义表、树和二叉树还要图的相关知识。最后我们还接触到了查找算法和排序 的知识,使我们与之前所学的知识联系起来,并运用起来。 R:在看视频时,有时感觉很简单但是又不能快进,会使我走神,然后不得不再回拖,我还是希望原创 2017-12-14 20:36:57 · 361 阅读 · 0 评论 -
第十周 项目 1 - 验证算法 (1)
/* 烟台大学计算机学院 文件名称:xiangmu.cpp 作者:陈军正 完成日期:2017年12月7日 问题描述:层次遍历算法的验证 输入描述:无 输出描述:层次遍历树的结果 */ //btree2.h #include #define MaxSize 100 typedef char Elem原创 2017-12-07 10:31:36 · 178 阅读 · 0 评论 -
第十周 项目 1 - 验证算法 (2)
/* 烟台大学计算机学院 文件名称:xiangmu.cpp 作者:陈军正 完成日期:2017年11月5日 问题描述:二叉树构造算法的验证 输入描述:无 输出描述:知先序中序构造二叉树结果 用到btree2.h算法库 */ #include #include #include "../b原创 2017-12-07 10:35:42 · 202 阅读 · 0 评论 -
第十周 项目 1 - 验证算法 (3)
/* 烟台大学计算机学院 文件名称:xiangmu.cpp 作者:陈军正 完成日期:2017年12月7日 问题描述:中序线索化二叉树的算法验证 输入描述:无 输出描述:线索二叉树遍历结果 */ #include #include #define MaxSize 100 typedef char E原创 2017-12-07 10:38:31 · 167 阅读 · 0 评论 -
第十周 项目 1 - 验证算法 (4)
/* 烟台大学计算机学院 文件名称:xiangmu.cpp 作者:陈军正 完成日期:2017年12月7日 问题描述:哈夫曼编码的算法验证 输入描述:无 输出描述:哈夫曼编码结果,平均长度 */ #include #include #define N 50 //叶子结点数 #define M 2*N-原创 2017-12-07 10:40:43 · 168 阅读 · 0 评论 -
第十周 项目 2 - 用二叉树求解代数表达式
/* 烟台大学计算机学院 文件名称:xiangmu.cpp 作者:陈军正 完成日期:2017年12月7日 问题描述:用二叉树来表示代数表达式 输入描述:无 输出描述:后序遍历结果以及算式结果 用到btree2.h算法库 */ #include #include #include #include "../btr原创 2017-12-07 10:43:24 · 241 阅读 · 0 评论 -
第七周 项目 4 - 队列数组
/* 烟台大学计算机学院 文件名称:xiangmu.cpp 作者:陈军正 完成日期:2017年12月7日 问题描述:队列数组:创建10个队列,分别编号为0-9(处理为队列数组,编号即下标)。 输入若干个正整数,以数字0作为结束。 设输入的值为x,其个位数字的大小为i,则将x插入到编号为i的队列中。最后输出所有的非空队列。 输入描述:若干数值原创 2017-12-07 10:55:38 · 211 阅读 · 0 评论 -
第八周-项目2-顺序串算法
/* 烟台大学计算机学院 作者:陈军正 完成日期:2017年12月7日 问题描述:采用顺序存储方式存储串,采用顺序存储方式存储串,实现下列算法并测试 输入描述:无 输出描述:对串处理后的元素 */ //1.试编写算法实现将字符串S中所有值为c1的字符换成值为c2的字符: //void Trans(SqString *&s, char原创 2017-12-07 11:09:15 · 173 阅读 · 0 评论 -
第七周 项目 1 - 建立顺序环形队列算法库
sqqueue.h 代码 /* *Copyright (c) 2017, 烟台大学计算机与控制工程学院 *All rights reserved. *文件名称: *作 者:陈军正 *完成日期:2017年10月15日 *版 本 号:v1.0 * */ typedef char ElemType; #define MaxSize 5 typedef struct { ElemType原创 2017-10-15 18:44:56 · 213 阅读 · 0 评论 -
第五周 项目 2 - 建立链栈算法库
sqstack.h 代码 /* *Copyright (c) 2017,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称: *作 者:陈军正 *完成日期:2017年10月15日 *版 本 号:v1.0 * * */ typedef char ElemType; typedef struct LinkNode { ElemType data; st原创 2017-10-15 18:32:34 · 212 阅读 · 0 评论 -
项目3-体验复杂度 1)两种排序算法的运行时间
复 杂 度 为 O ( n 2 ) 复杂度O(n²): O(n /* *Copyright (c) 2017,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称: *作 者:陈军正 *完成日期:2017年9月13日 *版 本 号:v1.0 * *问题描述:利用一个将近10万条数据的文件作为输入数据运行程序,感受两原创 2017-09-13 11:19:14 · 302 阅读 · 0 评论 -
项目3-体验复杂度 2)汉诺塔
汉诺塔代码:/* *Copyright (c) 2017,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称: *作 者:陈军正 *完成日期:2017年9月13日 *版 本 号:v1.0 * *问题描述:用递归算法求解汉诺塔问题,其复杂度可以求得为O(2n),是指数级的算法。 *请到课程主页下载程序运行一下,体验盘子数discCount为4、8、16、20、原创 2017-09-13 11:23:17 · 196 阅读 · 0 评论 -
第二周 函数参数传递的三种方式
(1): 问题及代码: #include void myswap(int x, int y) { int t; t=x; x=y; y=t; } int main() { int a, b; printf("请输入待交换的两个整数:"); scanf("%d %d", &a, &b); myswap(a原创 2017-09-07 11:08:21 · 298 阅读 · 0 评论 -
第四周 项目1-建立单链表
/* *Copyright (c) 2017,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称: *作 者:陈军正 *完成日期:2017年9月26日 *版 本 号:v1.0 * *问题描述:定义单链表存储结构,用头插法和尾插法建立单链表,并显示建立好以后的结果。 */ #include #include typedef int El原创 2017-09-26 19:55:35 · 149 阅读 · 0 评论 -
第四周 项目2-建设“单链表”算法库
linklist.h code: /* *Copyright (c) 2017,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称: *作 者:陈军正 *完成日期:2017年9月26日 *版 本 号:v1.0 * *问题描述:设计测试函数,可以涉及初始化线性表、销毁线性表、输出线性表、插入数据元素对应的函数. */ #原创 2017-09-27 10:34:11 · 214 阅读 · 0 评论 -
第三周 项目2-建设“顺序表”算法库
list.h 代码: /* *Copyright (c) 2017,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称: *作 者:陈军正 *完成日期:2017年9月19日 *版 本 号:v1.0 * *问题描述: */ #ifndef LIST_H_INCLUDEDbool ListInsert(SqList *&L,int i,El原创 2017-09-19 17:01:29 · 359 阅读 · 0 评论 -
第三周 项目1-顺序表的基本运算
/* *Copyright (c) 2017,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称: *作 者:陈军正 *完成日期:2017年9月20日 *版 本 号:v1.0 */ #include #include "malloc.h" using namespace std; #define MaxSize 50 type原创 2017-09-20 10:16:46 · 263 阅读 · 0 评论 -
第三周 项目3-求集合并集
list.h 代码: /* *Copyright (c) 2017,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称: *作 者:陈军正 *完成日期:2017年9月19日 *版 本 号:v1.0 * *问题描述:假设有两个集合A和B分别用两个线性表LA和LB表示,即线性表中的数据元素即为集合中的成员。 *设计算法,用函原创 2017-09-20 11:16:50 · 293 阅读 · 0 评论 -
第四周 项目 3 - 单链表应用 (1)
list.h 代码/* *Copyright (c) 2017,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称: *作 者:陈军正 *完成日期:2017年9月26日 *版 本 号:v1.0 * *问题描述:设计一个算法, 将一个带头结点的数据域依次为 a1, a2, …, an(n≥3) 的单链表的所 *有结点逆置, 即第一个结点的数据域变为 an, …原创 2017-10-07 14:03:42 · 294 阅读 · 0 评论 -
第三周 项目4-顺序表应用 (1)
list.h 代码: /* *Copyright (c) 2017,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称: *作 者:陈军正 *完成日期:2017年9月20日 *版 本 号:v1.0 * *问题描述:删除元素在[x,y]之间的所有元素,要求算法的时间复杂度为O(n),空间复杂度为O(1)删除元素原创 2017-09-20 22:40:51 · 213 阅读 · 0 评论 -
第三周 项目4-顺序表应用 (2)
list.h 代码: /* *Copyright (c) 2017,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称: *作 者:陈军正 *完成日期:2017年9月20日 *版 本 号:v1.0 * *问题描述:删除元素在[x,y]之间的所有元素,要求算法的时间复杂度为O(n),空间复杂度为O(1)删除元素在[x,y]之间的所有元素,要求算法的时间复杂度原创 2017-09-21 11:09:08 · 191 阅读 · 0 评论 -
第七周 项目2 - 建立链队算法库
liqueue.h 代码: /* *Copyright (c) 2017, 烟台大学计算机与控制工程学院 *All rights reserved. *文件名称: *作 者:陈军正 *完成日期:2017年10月19日 *版 本 号:v1.0 * */ #ifndef LIQUEUE_H_INCLUDED #define LIQUEUE_H_INCLUDED ty原创 2017-10-19 10:34:07 · 154 阅读 · 0 评论 -
第四周 项目 3 - 单链表应用 (2)
list.h 代码 /* *Copyright (c) 2017,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称: *作 者:陈军正 *完成日期:2017年10月10日 *版 本 号:v1.0 * *已知 L1 和 L2 分别指向两个单链表的头结点, 且已知其长度分别为 m、 n, 请设计算法 *将 L2 连接到 L1 的后面。 实现这个算法, 完成测原创 2017-10-10 20:10:21 · 246 阅读 · 0 评论 -
第四周 项目 3 - 单链表应用 (3)
list.h 代码 /* *Copyright (c) 2017,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称: *作 者:陈军正 *完成日期:2017年10月10日 *版 本 号:v1.0 * * 设计一个算法, 判断单链表 L 是否是递增的。 实现这个算法, 并完成测试。 */ typedef struct LNode { int data;原创 2017-10-10 22:07:49 · 209 阅读 · 0 评论 -
第九周 项目1 - 二叉树算法库
头文件:btree.h #define MaxSize 100 typedef char ElemType; typedef struct node { ElemType data; //数据元素 struct node *lchild; //指向左孩子 struct node *rchild; //指向右孩子 } B原创 2017-11-06 22:44:47 · 199 阅读 · 0 评论 -
第七周 项目 3 - 负数把正数赶出队列
liqueue.h 代码 /* *Copyright (c) 2017, 烟台大学计算机与控制工程学院 *All rights reserved. *文件名称: *作 者:陈军正 *完成日期:2017年10月22日 *版 本 号:v1.0 * */ #define MaxSize 5 typedef int ElemType; typedef struct { ElemType data原创 2017-10-22 10:58:36 · 235 阅读 · 0 评论 -
第五周 项目 1 - 建立顺序栈算法库
sqstack.h代码 /* *Copyright (c) 2017,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称: *作 者:陈军正 *完成日期:2017年10月10日 *版 本 号:v1.0 * * 定义顺序栈存储结构,实现其基本运算,并完成测试。 */ #define MaxSize 100 typedef char El原创 2017-10-12 20:26:50 · 211 阅读 · 0 评论 -
第8周 项目3- 对称矩阵压缩存储的实现与应用(1)
/* * Copyright(c) 2017,烟台大学计算机学院 * All rights reserved. * 文件名称:a.cpp * 作 者:陈军正 * 完成日期:2017 年 12 月 7 日 * 版 本 号:v1.0 * * 问题描述: 用压缩形式存储对称矩阵,实现下面的操作并测试 void Init(int *&b);//为N阶对称矩阵初始原创 2017-12-07 11:16:55 · 196 阅读 · 0 评论
分享