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