- 博客(72)
- 收藏
- 关注
原创 课程设计-学生成绩管理
#include #include # include # include #include //用getch();using namespace std;//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌Student类﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌class Student{public: char name[20]; char Id[20]; int Cnum; //C++课程得分 i
2015-12-24 09:31:02 1139
原创 学期总结
时间过得很快,一学期就这么结束了。学了一学期的《数据结构》,给我的感觉是一开始老师讲的什么啊,都听不懂。第一次接触云班课,首先是有些不习惯吧,每次上课之前都要把视频看完,预习完老师所要讲的内容,我记得我当时也就是第一次用云班课的时候比较积极的去看视频,当时因为是第一次吗,还比较新鲜,可是后来每次都是拖拖拉拉的,有时候老师都把课程讲完了,我还没有看完预习的视频,当时没有这种习惯,记不住。后来慢慢的就
2015-12-18 08:52:02 913 3
原创 快速排序
1.以第1个元素作为基准#include #define MaxSize 20typedef int KeyType; //定义关键字类型typedef char InfoType[10];typedef struct //记录类型{ KeyType key; //关键字项 InfoType data; /
2015-12-18 08:30:39 420
原创 冒泡排序
1.直接插入排序#include #define MaxSize 20typedef int KeyType; //定义关键字类型typedef char InfoType[10];typedef struct //记录类型{ KeyType key; //关键字项 InfoType data; //其他数
2015-12-18 08:26:37 350
原创 希尔排序
1.希尔排序#include #define MaxSize 20typedef int KeyType; //定义关键字类型typedef char InfoType[10];typedef struct //记录类型{ KeyType key; //关键字项 InfoType data; //其他数据项
2015-12-18 08:17:08 343
原创 直接插入排序
1.直接插入排序#include #define MaxSize 20typedef int KeyType; //定义关键字类型typedef char InfoType[10];typedef struct //记录类型{ KeyType key; //关键字项 InfoType data; //其他数
2015-12-18 08:08:05 372
原创 B-树的基本操作 .
#include #include #define MAXM 10 //定义B-树的最大的阶数typedef int KeyType; //KeyType为关键字类型typedef struct node //B-树结点类型定义{ int keynum;
2015-12-07 16:57:14 320
原创 用哈希法组织关键字 .
(1)若处理冲突的方法采用线性探测法,请设计算法,输出每个关键字对应的H(key),输出哈希表,并求成功情况下的平均查找长度。#include #include #define N 15#define M 26int H(char *s){ return ((*s-'a'+1)%M);}int main(){ char *s[N]= {"
2015-12-07 16:48:12 330
原创 希尔排序 .
#include #define MaxSize 20typedef int KeyType; //定义关键字类型typedef char InfoType[10];typedef struct //记录类型{ KeyType key; //关键字项 InfoType data; //其他数据项,类型为Info
2015-12-07 16:27:28 320
原创 直接插入排序 .
#include #define MaxSize 20typedef int KeyType; //定义关键字类型typedef char InfoType[10];typedef struct //记录类型{ KeyType key; //关键字项 InfoType data; //其他数据项,类型为Info
2015-12-07 16:23:56 259
原创 哈希表及其运算的实现 .
#include #define MaxSize 100 //定义最大哈希表长度#define NULLKEY -1 //定义空关键字值#define DELKEY -2 //定义被删关键字值typedef int KeyType; //关键字类型typedef char * InfoType; //其他
2015-12-07 16:21:32 427
原创 是否二叉排序树?
#include #include #define MaxSize 100typedef int KeyType; //定义关键字类型typedef char InfoType;typedef struct node //记录类型{ KeyType key;
2015-12-07 16:05:42 335
原创 验证二叉排序树相关算法
#include #include typedef int KeyType;typedef char InfoType[10];typedef struct node //记录类型{ KeyType key; //关键字项 InfoType data; //其他数据域
2015-12-05 20:47:16 404
原创 二叉树排序树中查找的路径
#include #include #define MaxSize 100typedef int KeyType; //定义关键字类型typedef char InfoType;typedef struct node //记录类型{ KeyType key;
2015-12-04 08:34:44 609
原创 验证分块查找算法
代码:#include #define MAXL 100 //数据表的最大长度#define MAXI 20 //索引表的最大长度typedef int KeyType;typedef char InfoType[10];typedef struct{ KeyType key; //KeyType为关键字的数据类型
2015-12-04 08:08:36 326
原创 验证折半查找算法
#include #define MAXL 100typedef int KeyType;typedef char InfoType[10];typedef struct{ KeyType key; //KeyType为关键字的数据类型 InfoType data; //其他数据} NodeType;typede
2015-12-01 18:52:41 418
原创 一名程序员的自我修养
一忌:轻易言败,没有自信 没有永不放弃精神的程序员,只是一个有程序员名号的假程序员。一个真正的程序员,知道在程序设计的过程中,可能会遇到不计其数的困难和问题,可能有极多的挫折和失败,而成功只有一次。 就为解决一个问题,我们可能连续十几甚至几十小时的坐在计算机前不停的工作。一个问题解决了,可能又有其它的问题出现。而你要是不能坚持下来,可能从前的一切努力都流失了。轻易言败的人请不要
2015-11-30 16:30:37 291
原创 拓扑排序算法的验证
头文件及功能函数详见【图算法库】代码:#include "graph.h"void TopSort(ALGraph *G){ int i,j; int St[MAXV],top=-1; //栈St的指针为top ArcNode *p; for (i=0; in; i++) //入度置初值0
2015-11-30 16:14:08 356
原创 Floyd算法的验证
头文件及功能函数详见【图算法库】代码:#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-30 16:12:07 318
原创 Dijkstra算法的验证
头文件及功能函数详见【图算法库】代码:#include "graph.h"#define MaxSize 100void Ppath(int path[],int i,int v) //前向递归查找路径上的顶点{ int k; k=path[i]; if (k==v) return; //找到了起点则返回 P
2015-11-27 08:37:01 350
原创 Kruskal算法的验证
头文件及功能函数详见【图算法库】代码: #include "graph.h"#define MaxSize 100typedef struct{ int u; //边的起始顶点 int v; //边的终止顶点 int w; //边的权值} Edge;void InsertSort(Edge E[],int
2015-11-27 08:28:56 264
原创 Prim算法的验证
* 问题描述:Prim算法的验证。* 输入描述:无* 程序输出:测试数据头文件及功能函数详见【图算法库】代码:#include "graph.h"void Prim(MGraph g,int v){ int lowcost[MAXV]; //顶点i是否在U中 int min; int closest[MAX
2015-11-23 16:59:30 345
原创 迷宫问题之图深度优先遍历解法
* 问题描述: 设计一个程序,采用深度优先遍历算法的思路,解决迷宫问题。 (1)建立迷宫对应的图数据结构,并建立其邻接表表示。 (2)采用深度优先遍历的思路设计算法,输出从入口(1,1)点到出口(M,N)的所有迷宫路径。 * 输入描述:迷宫的邻接矩阵 * 程序输出:邻接表表示迷宫,走出迷宫所有的路径 代码:#include
2015-11-23 16:34:10 891
原创 图遍历算法实现
问题及代码:问题描述: 实现图遍历算法,分别输出如下图结构的深度优先(DFS)遍历序列和广度优先遍历(BFS)序列。 输入描述: 若干测试数据。程序深度优先便利(DFS):(1)源文件:#include"head.h"extern visited[MAXV];void DFS(ALGraph *G, int v){ ArcNode *p;
2015-11-23 16:22:59 1905
原创 操作用邻接表存储的图
问题及代码:问题描述: 实现图遍历算法,分别输出如下图结构的深度优先(DFS)遍历序列和广度优先遍历(BFS)序列。 输入描述:若干测试数据。程序输出:DFS,BFS的遍历序列。 int OutDegree(ALGraph *G,int v){ ArcNode *p; int n=0; p=G->adjlist[v].firstarc;
2015-11-23 16:13:45 403
原创 项目1图基本算法库
图的存储结构主要包括邻接矩阵和邻接表,本算法库提供存储结构的定义,以及用于构造图存储结构、不同结构的转换及显示的代码。算法库采用程序的多文件组织形式,包括两个文件: 1.头文件:graph.h,包含定义图数据结构的代码、宏定义、要实现算法的函数的声明;#ifndef GRAPH_H_INCLUDED#define GRAPH_H_INCLUDED#define MAXV 100
2015-11-20 08:27:32 314
原创 用二叉树求解代数表达式
问题描述: 用二叉树来表示代数表达式,树的每一个分支节点代表一个运算符,每一个叶子节点代表一个运算数(为简化,只支持二目运算的+、-、*、/,不加括号, 运算数也只是一位的数字字符。本项目只考虑输入合乎以上规则的情况)。请设计算法, (1)根据形如“1+2?3?4/5”的字符串代表的表达式,构造出对应的二叉树(如图), 用后序遍历的思路计算表达式的值时,能体现出
2015-11-20 08:23:10 1091
原创 二叉树算法验证(4)哈夫曼树
问题描述: 运行并重复测试教学内容中涉及的算法。改变测试数据进行重复测试的意义在于, 可以从更多角度体会算法,以达到逐渐掌握算法的程度。 使用你的测试数据,并展示测试结果,观察运行结果,以此来领会算法。 输入描述: 若干测试数据。程序输出: 对应数据的输出。#include #include #define N 50 //叶子结点数
2015-11-16 17:20:07 607
原创 二叉树算法验证(3)中序线索化二叉树的算法验证
问题描述: 运行并重复测试教学内容中涉及的算法。改变测试数据进行重复测试的意义在于, 可以从更多角度体会算法,以达到逐渐掌握算法的程度。 使用你的测试数据,并展示测试结果,观察运行结果,以此来领会算法。 输入描述: 若干测试数据。程序输出: 对应数据的输出。#include #include #define MaxSize 100typede
2015-11-16 16:37:57 346
原创 二叉树算法验证(2)二叉树构造算法的验证
问题描述: 运行并重复测试教学内容中涉及的算法。改变测试数据进行重复测试的意义在于, 可以从更多角度体会算法,以达到逐渐掌握算法的程度。 使用你的测试数据,并展示测试结果,观察运行结果,以此来领会算法。 输入描述: 若干测试数据。程序输出: 对应数据的输出。1.由先序和中序构造二叉树BTNode *CreateBT1(char *pre,char *
2015-11-16 16:08:40 349
原创 二叉树构造算法的验证
问题及代码:1.由先序序列和中序序列构造二叉树定理:任何n(n≥0)个不同节点的二叉树,都可由它的中序序列和先序序列唯一地确定。证明(数学归纳法) 基础:当n=0时,二叉树为空,假设:设节点数小于n的任何二叉树,都可以由其先序序列和中序序列唯一地确定。 归纳:已知某棵二叉树具有n(n>0)个不同节点,其先序序列是a0a1…an−1;中序序列是b0b1…bk−1bkbk+
2015-11-13 08:18:43 505
原创 二叉树的层次遍历算法
问题及代码:算法库见第十周项目1 *问题描述:实现二叉树的层次遍历算法,并对用”A(B(D,E(H(J,K(L,M(,N))))),C(F,G(,I)))”创建的二叉树进行测试。 *程序输出: #include #include "btreee.h"void LevelOrder(BTNode *b){ BTNode *p; B
2015-11-13 08:16:04 519
原创 利用二叉树遍历思想解决问题
问题描述: 假设二叉树采用二叉链存储结构存储,分别实现以下算法,并在程序中完成测试: (1)计算二叉树节点个数; (2)输出所有叶子节点; (3)求二叉树b的叶子节点个数; (4)设计一个算法Level(b,x,h),返回二叉链b中data值为x的节点的层数。 (5)判断二叉树是否相似(关于二叉树t1和t2相似的判断: ①t1和t2
2015-11-09 16:15:48 414
原创 二叉树遍历的递归算法
问题描述: 实现二叉树的先序、中序、后序遍历的递归算法,并对用”A(B(D,E(H(J,K(L,M(,N))))),C(F,G(,I)))”创建的二叉树进行测试。 请利用二叉树算法库。输入描述: 若干测试数据。程序输出: 二叉树的输出。二叉树算法库main函数:int main(){ BTNode *b; Cre
2015-11-06 08:25:17 458
原创 二叉树算法库 .
// 头文件#define MaxSize 100typedef char ElemType;typedef struct node{ ElemType data; //数据元素 struct node *lchild; //指向左孩子 struct node *rchild; //指向右孩子
2015-11-02 17:04:04 366
原创 广义表算法库及应用
问题描述: 1)建立广义表算法库,包括: ① 头文glist.h,定义数据类型,声明函数; ② 源文件glist.cpp,实现广义表的基本运算,主要算法包括: int GLLength(GLNode *g); //求广义表g的长度 int GLDepth(GLNode *g); //求广义表g的深度 GLNode *CreateGL(c
2015-11-02 16:59:38 617
原创 稀疏矩阵的三元组表示的应用(3.2)
问题描述: 采用三元组存储稀疏矩阵,设计两个稀疏矩阵相加的运算算法 输入描述:两个稀疏矩阵程序输出:相加运算后的结果。main函数:#include"tup.h"int main(){ TSMatrix ta,tb,tc; int A[M][N]= { {0,0,1,0,0,0,0}, {0,2,0,0,0,0,
2015-11-02 16:42:25 527
原创 稀疏矩阵的三元组表示的实现(3.1)
问题描述: (1)建立稀疏矩阵三元组表示的算法库,包括: ① 头文tup.h,定义数据类型,声明函数; ② 源文件tup.cpp,实现稀疏矩阵三元组表示的基本运算,主要算法包括: void CreatMat(TSMatrix &t,ElemType A[M][N]); //从一个二维稀疏矩阵创建其三元组表示 bool Value(TSMatrix &t
2015-11-02 16:32:44 683
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人