自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数据结构课程设计——通讯录管理系统

/************************************************************版权所有 (C)2015. ChengAng**文件名称: zupu.cpp*文件标识: 无*内容摘要: 该项目的所有函数的实现*其他说明: 无*当前版本: V1.0*作 者: 程昂*完成日期: 20151223**修改

2015-12-25 22:59:24 9886 1

原创 学期小结

经过了一学期的学习,对于本学期数据结构的的知识有了不错的认识与学习。其大致分为九大块,其中有线性表、栈和队列、串、递归、数组和广义表、树和二叉树、图、查找、内排序。我们通过云班课的方式进行学习,通过发表博文的途径来巩固所学到的知识,并且让自己的积累看得见。对于这一学期对这门课的学习,我对自己的评价是,只能算是中规中矩,没有谈得上是完美,也谈不上是落后进度,但肯定是落后于那些对该门课学习趋于

2015-12-18 09:11:04 798 1

原创 项目2 - 大数据集上排序算法性能的体验

问题及代码:设计一个函数,产生一个至少5万条记录的数据集合。在同一数据集上,用直接插入排序、冒泡排序、快速排序、直接选择排序、堆排序、归并排序、基数排序等算法进行排序,记录所需要的时间,经过对比,得到对复杂度不同的各种算法在运行时间方面的感性认识。提示1:这一项目需要整合多种排序算法,可以考虑先建设排序算法库,作为我们这门课算法库的收官之作; 提示2:本项目旨在获得对于复杂度不

2015-12-14 17:19:02 774

原创 16周—项目(一)—归并排序,基数排序

问题及代码:归并排序:#include #include #define MaxSize 20typedef int KeyType; //定义关键字类型typedef char InfoType[10];typedef struct //记录类型{ KeyType key; //关键字项 InfoType data;

2015-12-14 17:10:18 404

原创 16周—项目(一)—堆排序

问题及代码:#include #define MaxSize 20typedef int KeyType; //定义关键字类型typedef char InfoType[10];typedef struct //记录类型{ KeyType key; //关键字项 InfoType data; //其他数据项,类型

2015-12-14 17:06:55 442

原创 16周-项目(一)-快速排序

问题及代码:1.以第1个元素作为基准#include #define MaxSize 20typedef int KeyType; //定义关键字类型typedef char InfoType[10];typedef struct //记录类型{ KeyType key; //关键字项 InfoType data;

2015-12-14 16:56:05 320

原创 项目一-验证算法-希尔排序,冒泡排序

问题及代码:用序列{57, 40, 38, 11, 13, 34, 48, 75, 6, 19, 9, 7}作为测试数据,运行并本周视频中所讲过的算法对应 程序,观察运行结果并深刻领会算法的思路和实现方法:(1)直接插入排序;(2)希尔排序;(3)冒泡排序;(4)快速排序;(5)直接选择排序;(6)堆排序;(7)归并排序;(8)基数排序。1.排序中输出每一趟的中间结果#include

2015-12-14 16:35:21 449

原创 16周 - 项目一-验证算法-直接插入排序

问题及代码:用序列{57, 40, 38, 11, 13, 34, 48, 75, 6, 19, 9, 7}作为测试数据,运行并本周视频中所讲过的算法对应 程序,观察运行结果并深刻领会算法的思路和实现方法:(1)直接插入排序;(2)希尔排序;(3)冒泡排序;(4)快速排序;(5)直接选择排序;(6)堆排序;(7)归并排序;(8)基数排序。1.折半插入排序#include #define

2015-12-14 16:23:49 454

原创 15周-项目3 - 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-07 17:07:25 366

原创 15周-项目2-用哈希法组织关键字

问题及代码:已知一个关键字序列为if、while、for、case、do、break、else、struct、union、int、double、float、char、long、bool,共15个字符串,哈希函数H(key)为关键字的第一个字母在字母表中的序号,哈希表的表长为26。   (1)若处理冲突的方法采用线性探测法,请设计算法,输出每个关键字对应的H(key),输出哈希表,并求成功情

2015-12-07 16:48:07 344

原创 15周—项目1—哈希表及其运算的实现

问题及代码:#include #define MaxSize 100 //定义最大哈希表长度#define NULLKEY -1 //定义空关键字值#define DELKEY -2 //定义被删关键字值typedef int KeyType; //关键字类型typedef char * InfoType; /

2015-12-07 16:40:34 321

原创 15周-项目一-哈希表及其运算的实现

问题及代码:#include #define MaxSize 100 //定义最大哈希表长度#define NULLKEY -1 //定义空关键字值#define DELKEY -2 //定义被删关键字值typedef int KeyType; //关键字类型typedef char * InfoType; /

2015-12-07 16:10:06 381

原创 14周-查找(一)-知原理

题目解答人:程昂1、对于A[0..10]有序表{12,18,24,35,47,50,62,83,90,115,134} (1)用二分查找法查找 90时,需进行多少次查找可确定成功? (2)当查找47时需进行多少次查找可确定成功? (3)查找100时,需进行多少次查找才能确定不成功? (4)求成功和不成功时的平均查找长度。 (5)构造对于这个序列的判定树,并再求成功和

2015-11-30 16:55:15 811

原创 14周-项目3 - 是否二叉排序树?

问题及代码:设计一个算法,判断给定的二叉树是否是二叉排序树。 #include #include #define MaxSize 100typedef int KeyType; //定义关键字类型typedef char InfoType;typedef struct node //记录类型{

2015-11-30 16:48:19 312

原创 14周-项目2 - 二叉树排序树中查找的路径

问题及代码:设计一个算法,输出在二叉排序中查找时查找某个关键字经过的路径。#include #include #define MaxSize 100typedef int KeyType; //定义关键字类型typedef char InfoType;typedef struct node //记录

2015-11-30 16:44:43 631

原创 14周—平衡二叉树

问题及代码:#include #include typedef int KeyType; //定义关键字类型typedef char InfoType;typedef struct node //记录类型{ KeyType key; //

2015-11-30 16:38:24 313

原创 14周-二叉排序树

问题及代码:由整数序列{25,18,46,2,53,39,32,4,74,67,60,11}构造二叉排序树; (2)输出用括号法表示的二叉排序树; (3)用递归算法和非递归算法查找关键字55; (4)分别删除46,输出删除后用括号法表示的二叉排序树。 #include #include typedef int KeyType;typedef char InfoType

2015-11-30 16:30:20 602

原创 14周—验证算法-验证分块查找算法

问题及代码:验证分块查找算法。请用8,14,6,9,10,22,34,18,19,31,40,38,54,66,46,71,78,68,80,85,100,94,88,96,87(共n=25个数据,每块数据个数s=5)作为数据表,自行构造索引表,分别对查找85进行测试。 #include #define MAXL 100 //数据表的最大长度#define MAXI 20

2015-11-30 16:16:25 380

原创 14周-项目1-验证算法-折半算法

问题及代码:验证折半查找算法。请用有序表{12,18,24,35,47,50,62,83,90,115,134}作为测试序列,分别对查找90、47、100进行测试。普通折半法:#include #define MAXL 100typedef int KeyType;typedef char InfoType[10];typedef struct{ KeyType

2015-11-30 16:07:25 399

原创 13周-拓扑排序算法验证

问题及代码:#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++) //入度置初值

2015-11-23 16:56:22 417

原创 Floyd算法验证-每队顶点之间的最短路径

问题及代码:#include #include #include "graph.h"#define MaxSize 100void Ppath(int path[][MAXV],int i,int j) //前向递归查找路径上的顶点{ int k; k=path[i][j]; if (k==-1) return; //找到了起点则返

2015-11-23 16:46:59 559

原创 13周-(3)Dijkstra算法的验证

问题及代码:Dijkstra算法的验证(使用图2作为测试用例)  #include #include #include "graph.h"#define MaxSize 100void Ppath(int path[],int i,int v) //前向递归查找路径上的顶点{ int k; k=path[i]; if (k==v) return;

2015-11-23 16:36:42 357

原创 13周-项目1- 验证算法(Prim算法,Kruskal算法)

问题及代码:(1)Prim算法的验证(使用图1作为测试用例) (2)Kruskal算法的验证(使用图1作为测试用例) (图1) #include #include #include "graph.h"void Prim(MGraph g,int v){ int lowcost[MAXV]; //顶点i是否在U中 int min

2015-11-23 16:15:36 446

原创 第12周-项目3 - 图遍历算法实现

问题及代码:实现图遍历算法,分别输出如下图结构的深度优先(DFS)遍历序列和广度优先遍历(BFS)序列。  测试时用的图是,可以使用其他类型的图代替。1、深度优先遍历——DFS#include #include #include "graph.h"int visited[MAXV];void DFS(ALGraph *G, int v){ ArcNode

2015-11-16 16:44:33 359

原创 第12周-项目二-操作用邻接表存储的图

问题及代码:假设图G采用邻接表存储,分别设计实现以下要求的算法:   (1)输出出图G中每个顶点的出度;   (2)求出图G中出度最大的一个顶点,输出该顶点编号;   (3)计算图G中出度为0的顶点数;   (4)判断图G中是否存在边i,j>。   利用下图作为测试用图,输出结果。   /* *Copyright(c)2015,烟台大学计算机与控制

2015-11-16 16:34:26 396

原创 第12周-项目1-图基本算法库

问题及代码:/* *Copyright(c)2015,烟台大学计算机与控制工程学院 *All right reserved. *文件名称:main.cpp *作者:程昂 *完成日期;2015年11月16日 *版本号;v1.0 * *问题描述:图的存储结构主要包括邻接矩阵和邻接表,本算法库提供存储结构的定义,以及用于构造图存储结构、 不同结构的转换

2015-11-16 16:19:45 308

原创 第十一周-项目二-二叉树构造算法的验证

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

2015-11-09 16:44:08 419

原创 第11周—项目1-二叉树的层次遍历算法

问题及代码:算法库见第十周项目1/* *Copyright(c)2015,烟台大学计算机与控制工程学院 *All right reserved. *文件名称:main.cpp *作者:程昂 *完成日期;2015年11月2日 *版本号;v1.0 * *问题描述:实现二叉树的层次遍历算法,并对用”A(B(D,E(H(J,K(L,M(,N))))),C(F

2015-11-09 16:36:37 481

原创 第十周-项目3 - 利用二叉树遍历思想解决问题

问题及代码:/* *Copyright(c)2015,烟台大学计算机与控制工程学院 *All right reserved. *文件名称:main.cpp *作者:程昂 *完成日期;2015年11月2日 *版本号;v1.0 * *问题描述:假设二叉树采用二叉链存储结构存储,分别实现以下算法,并在程序中完成测试:  (1)计算二叉树节点个数;  (2)输出所有叶子节

2015-11-02 16:33:29 326

原创 第十周-项目2 - 二叉树遍历的递归算法

问题及代码:/* *Copyright(c)2015,烟台大学计算机与控制工程学院 *All right reserved. *文件名称:main.cpp *作者:程昂 *完成日期;2015年11月2日 *版本号;v1.0 * *问题描述:实现二叉树的先序、中序、后序遍历的递归算法,并对用”A(B(D,E(H(J,K(L,M(,N))))),C(F,G(,I)))”创建

2015-11-02 16:30:06 513

原创 第10周—项目1 - 二叉树算法库

问题及代码:/* *Copyright(c)2015,烟台大学计算机与控制工程学院 *All right reserved. *文件名称:main.cpp *作者:程昂 *完成日期;2015年11月2日 *版本号;v1.0 * *问题描述:定义二叉树的链式存储结构,实现其基本运算 *程序输出: */ #include #include "btree.

2015-11-02 16:23:18 366

原创 第九周-项目2 - 压缩存储的对称矩阵的运算

问题及代码:/* *Copyright(c)2015,烟台大学计算机与控制工程学院 *All right reserved. *文件名称:main.cpp *作者:程昂 *完成日期;2015年10月26日 *版本号;v1.0 * *问题描述:设计算法,实现两个用压缩形式存储的对称矩阵A和B的加法和乘法。 *程序输出:*/#include #define N 4#def

2015-10-26 17:16:55 593

原创 第九周—项目1 - 猴子选大王(数组版)

问题及代码:/* *Copyright(c)2015,烟台大学计算机与控制工程学院 *All right reserved. *文件名称:main.cpp *作者:程昂 *完成日期;2015年10月26日 *版本号;v1.0 * *问题描述: 一群猴子,编号是1,2,3 …m,这群猴子(m个)按照1-m的顺序围坐一圈。从第1只开始数,每数到第n个,该猴子就要离开

2015-10-26 16:35:09 422

原创 第八周—项目2 - 建立链串的算法库

问题及代码:/* *Copyright(c)2015,烟台大学计算机与控制工程学院 *All right reserved. *文件名称:main.cpp *作者:程昂 *完成日期;2015年10月19日 *版本号;v1.0 * *问题描述: 定义链串的存储结构,实现串的基本运算,并完成测试。 *程序输出:*/#include #include "liStrin

2015-10-19 16:35:32 303

原创 第八周-项目1 - 建立顺序串的算法库

问题及代码:/* *Copyright(c)2015,烟台大学计算机与控制工程学院 *All right reserved. *文件名称:main.cpp *作者:程昂 *完成日期;2015年10月12日 *版本号;v1.0 * *问题描述: 建立顺序串的算法库,定义顺序串的存储结构,实现其基本运算,并完成测试。 *程序输出: */

2015-10-19 16:16:35 376

原创 第七周—项目 - 队列数组

问题及代码:创建10个队列,分别编号为0-9(处理为队列数组,编号即下标)。输入若干个正整数,以数字0作为结束。设输入的值为x,其个位数字的大小为i,则将x插入到编号为i的队列中。最后输出所有的非空队列。   要求将队列处理成链式队列,使用链式队列算法库中定义的数据类型及算法,程序中只包括一个函数(main函数),入队和出队等操作直接在main函数中调用即可。   设程序运行时输入:7

2015-10-12 17:15:45 365

原创 第七周—项目 - 负数把正数赶出队列

问题及代码:运用了环形队的数据库/* *Copyright(c)2015,烟台大学计算机与控制工程学院 *All right reserved. *文件名称:main.cpp *作者:程昂 *完成日期;2015年10月12日 *版本号;v1.0 * *问题描述:设从键盘输入一整数序列a1,a2,…an,试编程实现:当ai>0时,ai进队,当ai<0时,将队首元素出队, 当

2015-10-12 16:49:21 370

原创 第七周—项目2 - 建立链队算法库

问题及代码:/* *Copyright(c)2015,烟台大学计算机与控制工程学院 *All right reserved. *文件名称:main.cpp *作者:程昂 *完成日期;2015年10月12日 *版本号;v1.0 * *问题描述:建立链队算法库.定义链队存储结构,实现其基本运算,并完成测试。 *程序输出: 测试结果*/#include #includ

2015-10-12 16:32:34 288

原创 第七周—项目1 - 建立顺序环形队列算法库

问题及代码:/* *Copyright(c)2015,烟台大学计算机与控制工程学院 *All right reserved. *文件名称:main.cpp *作者:程昂 *完成日期;2015年10月12日 *版本号;v1.0 * *问题描述:建立顺序环形队列算法库,定义顺序环形队列存储结构,实现其基本运算,并完成测试。 *程序输出: 测试结果*/

2015-10-12 16:19:47 505

原创 第六周—项目5 - 后缀表达式

问题及代码:/* *Copyright(c)2015,烟台大学计算机与控制工程学院 *All right reserved. *文件名称:main.cpp *作者:程昂 *完成日期;2015年10月9日 *版本号;v1.0 * *问题描述:利用sqstack.h中栈的基本运算, 实现将一个中缀表达式转换为对应的后缀表达式的算法。 例如,输入(56-20)/(4+2),输出后

2015-10-09 08:55:46 404

空空如也

空空如也

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

TA关注的人

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