自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 【数据结构实训——图书信息管理系统】

/*********************************************************** 02.* 版权所有 (C)2016,刘富家 03.* 04.* 文件名称: Library.h 05.* 文件标识:无 06.* 内容摘要:函数文件 07.* 其它说明:各个模块函数 08.* 作 者:刘富家 09.* 完成日期: 20161231 */#if

2016-12-31 16:14:51 2898 1

原创 【期末总结】

大学时光总是过得飞快,一周周的就到了16周,要结课了,然而这16周并不是所有精力都用在学习上,期末徒伤悲。庆幸的是,我们采用的翻转课堂教学模式,虽然课下看视频做的还是不够好,但课后依然可以看,这是比较好的,以前上C++的时候,课上一直听老师再讲,毕竟枯燥,难免会走神,而一旦走神,后面的就有点跟不上,慢慢的就上课不愿意听了,因为听不懂了啊,只能课后通过做题,自己慢慢琢磨,虽然最终还是弄懂了,可是效率

2016-12-16 10:28:55 621

原创 【验证分块查找算法】

请用22,4,23,11,20,2,15,13,30,45,26,34,29,35,26,36,55,98,56, 74,61,90,80,96,127,158,116,114,128,113,115,102,184,211,243,188,187,218,195,210,279,307,492,452,408,361,421,399,856,523,704,703,697,535,534,739

2016-12-09 10:42:13 625

原创 【验证算法——折半查找】

1. 折半查找#include #define MAXL 100typedef int KeyType;typedef char InfoType[10];typedef struct{ KeyType key; //KeyType为关键字的数据类型 InfoType data; //其他数据} NodeTyp

2016-12-08 11:04:04 864

原创 【拓扑排序算法验证】

使用下图验证算法头文件详见——图基本算法库#include #include #include "graph.h"void TopSort(ALGraph *G){ int i,j; int St[MAXV],top=-1; //栈St的指针为top ArcNode *p; for (i=0; in; i++)

2016-12-02 10:40:46 364

原创 【弗洛伊德Floyd算法验证】

头文件详见-图基本算法库#include #include "graph.h"void Dispath(MGraph g,int A[][MAXV],int path[][MAXV]);void Floyd(MGraph g){ int A[MAXV][MAXV],path[MAXV][MAXV]; int i,j,k; for(i=0;i<g.n;i++)

2016-12-02 10:18:09 498

原创 【狄克特斯拉算法验证】

#include #include "graph.h"void Ppath(int path[],int i,int v) //前向递归查找路径上的顶点{ int k; k=path[i]; if (k==v) return; //找到了起点则返回 Ppath(path,k,v); //找顶点k的前一个顶点

2016-12-01 10:15:52 1403

原创 【Prim算法和Kruskal算法的验证】

#include #include "graph.h"void Prim(MGraph g,int v)  //普里姆Prim算法{    int lowcost[MAXV];    int min;    int closest[MAXV],i,j,k;    for(i=0;i    {        lowcost[i]=g.edges[v

2016-11-25 10:54:16 907

原创 【项目1 - 图基本算法库】

定义图的邻接矩阵和邻接表存储结构,实现其基本运算,并完成测试。 要求: 1、头文件graph.h中定义相关的数据结构并声明用于完成基本运算的函数。对应基本运算的函数包括:void ArrayToMat(int *Arr, int n, MGraph &g); //用普通数组构造图的邻接矩阵void ArrayToList(int *Arr, int n, ALGraph *&G);

2016-11-17 11:18:38 782

原创 【项目1-验证算法2:二叉树构造算法的验证】

1.由先序序列和中序序列构造二叉树定理:任何n(n≥0)个不同节点的二叉树,都可由它的中序序列和先序序列唯一地确定。证明(数学归纳法) 基础:当n=0时,二叉树为空,结论正确。 假设:设节点数小于n的任何二叉树,都可以由其先序序列和中序序列唯一地确定。 归纳:已知某棵二叉树具有n(n>0)个不同节点,其先序序列是a0a1…an−1;中序序列是b0b1…bk−1bkbk+1…bn

2016-11-10 11:11:13 474

原创 【项目1-验证算法1:层次遍历算法的验证】

【二叉树的层次遍历算法】   实现二叉树的层次遍历算法,并对用”A(B(D,E(H(J,K(L,M(,N))))),C(F,G(,I)))”创建的二叉树进行测试。算法及解答:btree.h详见二叉树算法库#include #include "btree.h"void LevelOrder(BTNode *b){ BTNode *p; BTNode *qu[M

2016-11-10 11:08:57 463

原创 【项目1-二叉树算法库】

问题:定义二叉树的链式存储结构,实现其基本运算, 并完成测试。要求:1、头文件btree.h中定义数据结构并声明用于完成基本运算的。对应基本运算的函数包括:

2016-11-10 10:54:23 482

原创 【项目2-建立链串算法库】

头文件:#ifndef LISTRING_H_INCLUDED#define LISTRING_H_INCLUDEDtypedef struct snode{ char data; struct snode *next;} LiString;void StrAssign(LiString *& s,char cstr[]) ; //字符串常量cstr赋给串svo

2016-10-27 11:04:08 697

原创 【项目1-建立顺序串的算法库】

问题:定义顺序串的存储结构,实现其基本运算,并完成测试。   要求:   1、头文件sqString.h中定义数据结构并声明用于完成基本运算的函数。对应基本运算的函数包括:void StrAssign(SqString &s,char cstr[]); //字符串常量cstr赋给串svoid StrCopy(SqString &s,SqString t); //串t复制给串

2016-10-21 11:23:21 736

原创 【项目4 - 数制转换】

问题:把十进制的整数转换为二至九之间的任一进制数输出。请利用栈设计算法,并实现程序。 提示:要转换为r进制,则原来的数逐次除以基数r(除完之后用商再除),直到商为0,得到的一系列余数的逆序就是转换结果。这里的“逆序”,意味着后产生的余数,会先输出,后进先出,栈的机会来了…… 代码:头文件“sqstack.h”详见【项目1-建立顺序栈算法库】#include #include

2016-10-14 10:27:13 681

原创 【项目3 - 括号的匹配】

问题:   假设表达式中允许三种括号:圆括号、方括号和大括号。编写一个算法,判断表达式中的各种左括号是否与右括号匹配。 例如,输入2+(3+4)*[2+{[3]}]-8,输出匹配正确;输入2+(3+4*[2)+{[3]}-8,输出匹配错误。提示:(1)遇到左括号入栈,遇到右括号后,出栈一个符号,看是否配对。若配对,继续,直到读完所有的符号,栈也正好为空。若在中间出现一个不配对的,或者_

2016-10-13 10:30:35 539

原创 【项目2 - 建立链栈算法库】

#include "LiStack.h"void InitStack(LiStack *&s) //初始化栈{ s=(LiStack *)malloc(sizeof(LiStack)); s->next=NULL;}void DestroyStack(LiStack *&s) //销毁栈{ LiStack *p=s,*q=s->next; wh

2016-10-09 11:21:02 11797

原创 【项目1 - 建立顺序栈算法库】

定义顺序栈存储结构,实现其基本运算,并完成测试。   要求:   1、头文件sqstack.h中定义数据结构并声明用于完成基本运算的函数。对应基本运算的函数包括:void InitStack(SqStack *&s); //初始化栈void DestroyStack(SqStack *&s); //销毁栈bool StackEmpty(SqStack *s); //

2016-09-29 11:19:39 709

原创 【项目1-顺序表的基本运算】

(1)目的是要测试“建立线性表”的算法CreateList,为查看建表的结果,需要实现“输出线性表”的算法DispList。在研习DispList中发现,要输出线性表,还要判断表是否为空,这样,实现判断线性表是否为空的算法ListEmpty成为必要。这样,再加上main函数,这个程序由4个函数构成。main函数用于写测试相关的代码。 程序的结构如下所示:

2016-09-18 10:52:22 580

转载 项目3-体验复杂度

(1)两种排序算法的运行时间   排序是计算机科学中的一个基本问题,产生了很多种适合不同情况下适用的算法,也一直作为算法研究的热点。本项目提供两种排序算法,复杂度为O(n2)的选择排序selectsort,和复杂度为O(nlogn)的快速排序quicksort,在main函数中加入了对运行时间的统计。   请阅读后附的程序1和程序2,利用一个将近10万条数据的文件作为输入数据运行程序,感受

2016-09-18 10:29:22 424

原创 项目2-程序的多文件组织

问题及代码: 学习数据结构,目标就是要编制出有相当规模的程序的。将所有的代码放在一个文件中的做法,不能使用现阶段的需求量。 通过这个项目,确认有能力用多文件组织程序,方便以后各章,我们就某一数据结构定义算法库,并能引用算法库进行实践。 最简单的多文件组织,一个项目有三个文件: .h 头文件:定义数据类型、声明自定义函数、定义宏等student.h:#define MaxSt

2016-09-09 11:23:55 522

原创 项目1- C/C++语言中函数参数传递的三种方式

问题及代码:代码1:#includeusing namespace std;void myswap(int x, int y){ int t; t=x; x=y; y=t;}int main(){ int a, b; printf("请输入待交换的两个整数:"); scanf("%d %d", &a

2016-09-08 11:28:38 981

原创 项目0-宣告“主权”

问题及代码:*//问题描述:写一段程序,在屏幕上输出你想说的话#include using namespace std;int main(){ cout<<"Hello the world of code !"<<endl; return 0;}运行结果:知识点总结: 巩固了C++输出的运用。学习心得: 一开始写程序,

2016-09-08 10:37:28 273

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除