
数据结构课
zhougl996
编写博客,学习交流
展开
-
第十一周项目二——用二叉树求解代数表达式
【项目 - 用二叉树求解代数表达式】 用二叉树来表示代数表达式,树的每一个分支节点代表一个运算符,每一个叶子节点代表一个运算数(为简化,只支持二目运算的+、-、*、/,不加括号,运算数也只是一位的数字字符。本项目只考虑输入合乎以上规则的情况)。请设计算法,(1)根据形如“1+2∗3−4/5”的字符串代表的表达式,构造出对应的二叉树(如图),用后序遍历的思路计算表达式的值时,能体现出先乘除后...原创 2019-03-31 10:20:47 · 554 阅读 · 0 评论 -
第十四周 项目二二叉树排序树中查找的路径
/*Copyright (c)2016,烟台大学计算机与控制工程学院All rights reserved.文件名称:查找.cpp作 者: 周国亮完成日期:2016年12月2日版 本 号:v1.0问题描述:输入描述:无程序输出:若干*/#include #include #define MaxSize 100typedef int KeyType;原创 2016-12-02 10:16:41 · 394 阅读 · 0 评论 -
第十四周项目一 平衡二叉树
/*Copyright (c)2016,烟台大学计算机与控制工程学院All rights reserved.文件名称:查找.cpp作 者: 周国亮完成日期:2016年12月2日版 本 号:v1.0问题描述:输入描述:无程序输出:若干*/#include #include typedef int KeyType; //定义关键原创 2016-12-02 10:14:32 · 571 阅读 · 0 评论 -
第十四周 项目一 二叉排序树
问题及代码:/*Copyright (c)2016,烟台大学计算机与控制工程学院All rights reserved.文件名称:查找.cpp作 者: 周国亮完成日期:2016年12月2日版 本 号:v1.0问题描述:输入描述:无程序输出:若干*/#include #include typedef int KeyType;typedef char Info原创 2016-12-02 10:12:23 · 411 阅读 · 0 评论 -
第十四周 项目一分块查找
问题及代码:/*Copyright (c)2016,烟台大学计算机与控制工程学院All rights reserved.文件名称:查找.cpp作 者: 周国亮完成日期:2016年12月2日版 本 号:v1.0问题描述:输入描述:无程序输出:若干*/#include #define MAXL 100 //数据表的最大长度#define MAXI 20原创 2016-12-02 10:09:02 · 528 阅读 · 0 评论 -
第十四周 项目1验证算法
折半查找#include #define MAXL 100typedef int KeyType;typedef char InfoType[10];typedef struct{ KeyType key; //KeyType为关键字的数据类型 InfoType data; //其他数据} NodeType;原创 2016-12-01 10:49:29 · 642 阅读 · 0 评论 -
第十二周 项目5 - 迷宫问题之图深度优先遍历解法
将迷宫中的每一格作为一个顶点,相邻格子可以到达,则对应的顶点之间存在边相连。 例如,下面的迷宫 在使用数组表示时,用0表示格子是空地,用1表示格子处是墙,对应的矩阵是:int mg[M+2][N+2]= //迷宫数组 { {1,1,1,1,1,1}, {1,0,0,0,1,1}, {1,0,1,0,0,1},原创 2016-11-17 11:10:03 · 560 阅读 · 0 评论 -
第十二周 项目3 - 图遍历算法实现
/* Copyright (c)2016,烟台大学计算机与控制工程学院 All rights reserved. 文件名称:tu.pp 作 者: 周国亮 完成日期:2016年11月17日 版 本 号:v1.0原创 2016-11-17 10:56:21 · 435 阅读 · 0 评论 -
第十二周 项目二--操作用邻接表存储的图
main.cpp/* Copyright (c)2016,烟台大学计算机与控制工程学院 All rights reserved. 文件名称:tu.pp 作 者: 周国亮 完成日期:2016年11月17日 版 本 号:v1.0原创 2016-11-17 10:47:33 · 515 阅读 · 0 评论 -
第十二周 项目一--图基本算法库
问题及代码:main.cpp:/* Copyright (c)2016,烟台大学计算机与控制工程学院 All rights reserved. 文件名称:tu.pp 作 者: 周国亮 完成日期:2016年11月17日 版 本 号:v原创 2016-11-17 10:34:30 · 653 阅读 · 0 评论 -
第七周 项目5 -排队看病模拟
问题及代码:/* Copyright (c)2016,烟台大学计算机与控制工程学院 All rights reserved. 文件名称:排队.cpp 作 者: 周国亮 完成日期:2016年10月8日 版 本 号:v1.0原创 2016-10-08 11:31:01 · 456 阅读 · 0 评论 -
第七周 项目4 - 队列数组
问题及代码:liqueue.h/* Copyright (c)2016,烟台大学计算机与控制工程学院 All rights reserved. 文件名称:队列数组.cpp 作 者: 周国亮 完成日期:2016年10月8日 版 本 号:v原创 2016-10-08 11:20:42 · 469 阅读 · 0 评论 -
第七周 项目3 - 负数把正数赶出队列
问题及代码:sqqueue.h#ifndef SQQUEUE_H_INCLUDED#define SQQUEUE_H_INCLUDED#define MaxSize 5typedef int ElemType;typedef struct{ ElemType data[MaxSize]; int front,rear; /*队首和队尾指针*/} SqQ原创 2016-10-08 11:14:44 · 390 阅读 · 0 评论 -
第七周 项目2 - 建立链队算法库
问题及代码#include #include "liqueue.h"int main(){ ElemType e; LiQueue *q; printf("(1)初始化链队q\n"); InitQueue(q); printf("(2)依次进链队元素a,b,c\n"); enQueue(q,'a'); enQueue(q,'b')原创 2016-10-08 11:07:05 · 370 阅读 · 0 评论 -
第七周 项目一——建立顺序环形队列算法库
问题及代码:main.cpp:/* Copyright (c)2016,烟台大学计算机与控制工程学院 All rights reserved. 文件名称:建立顺序环形队列算法库.cpp 作 者: 周国亮 完成日期:2016年10月8日 版 本 号:原创 2016-10-08 10:44:16 · 445 阅读 · 0 评论 -
第八周 项目五--计数的模式匹配
问题及代码:main.cpp:/* Copyright (c)2016,烟台大学计算机与控制工程学院 All rights reserved. 文件名称:计数的模式匹配.cpp 作 者: 周国亮 完成日期:2016年10月2原创 2016-10-20 10:56:53 · 487 阅读 · 0 评论 -
第八周 项目四--字符串加密
问题及代码:main.cpp:/* Copyright (c)2016,烟台大学计算机与控制工程学院 All rights reserved. 文件名称:字符串加密.cpp 作 者: 周国亮 完成日期:2016年10月20日原创 2016-10-20 10:53:53 · 540 阅读 · 0 评论 -
第八周 项目三--顺序串算法
/* Copyright (c)2016,烟台大学计算机与控制工程学院 All rights reserved. 文件名称:顺序串算法.cpp 作 者: 周国亮 完成日期:2016年10月20日原创 2016-10-20 10:48:45 · 534 阅读 · 0 评论 -
第十四周 项目3 - 是否二叉排序树?
/*Copyright (c)2016,烟台大学计算机与控制工程学院All rights reserved.文件名称:查找.cpp作 者: 周国亮完成日期:2016年12月2日版 本 号:v1.0问题描述:输入描述:无程序输出:若干*/#include #include #define MaxSize 100typedef int KeyType;原创 2016-12-02 10:18:37 · 425 阅读 · 0 评论 -
期末总结
对于我们来说我们已经大学已然过去了一小半,在这学期,我们学习了数据结构这一门非常重要的专业基础课,经过了十几周的学习,数据结构就快结课了,时光很快,数据结构迷迷糊糊的学完了,算不上学了太多知识,不过也有收获,了解了数据结构的作用和一些算法的用法,数据结构不仅仅是一些概念还需身体力行的实践,没有实践,没有真知。我实践的时间还很短,上机时主要是看视频和发博客,代码大都是看懂之后复制粘贴,所以我知道虽然原创 2016-12-14 19:45:02 · 580 阅读 · 0 评论 -
数据结构课程设计
注意:请新建“bank.txt”且在bank.txt中输入“x x 1”main.cpp#include"bank.h"Bank bank;int main(){ bank.readAccountput(); while(1){ system("color 1A"); system("cls"); show(); int n; cin>>n;原创 2016-12-28 22:16:56 · 1407 阅读 · 0 评论 -
第15周项目4-英文单词的基数排序
#include #include #include #define MaxLen 9 //单词的最大长度 #define Radix 27 //基数rd为27,分别对应' ','a',…'z' typedef char String[MaxLen+1]; //定义String为字符数组类型 typedef原创 2016-12-08 11:15:43 · 619 阅读 · 0 评论 -
第十五周 项目三归并排序算法的改进
#include #include #include #include #define MinLength 64 //最短分段长度typedef int KeyType; //定义关键字类型typedef char InfoType[10];typedef struct //记录类型{ KeyType key; //关键字原创 2016-12-08 11:14:44 · 690 阅读 · 0 评论 -
第十五周项目一(5)直接选择排序
#include #define MaxSize 20 typedef int KeyType; //定义关键字类型 typedef char InfoType[10]; typedef struct //记录类型 { KeyType key; //关键字项 InfoType data; //其他数据项,原创 2016-12-08 11:12:10 · 492 阅读 · 0 评论 -
第十五周项目2 - 大数据集上排序算法性能的体验
/*Copyright (c)2016,烟台大学计算机与控制工程学院All rights reserved.文件名称:排序.cpp作 者: 周国亮完成日期:2016年12月8日版 本 号:v1.0问题描述:设计一个函数,产生一个至少5万条记录的数据集合。在同一数据集上,用直接 插入排序、冒泡排序、快速排序、直接选择排序、堆排序、归并排序、基数排序原创 2016-12-08 11:08:55 · 581 阅读 · 0 评论 -
第十五周项目一(8)基数排序
#include #include #include #define MAXE 20 //线性表中最多元素个数#define MAXR 10 //基数的最大取值#define MAXD 8 //关键字位数的最大取值typedef struct node{ char data[MAXD]; //记录的关键字定义的字符串原创 2016-12-08 11:01:40 · 514 阅读 · 0 评论 -
第十五周项目一(7)归并排序
#include #include #define MaxSize 20typedef int KeyType; //定义关键字类型typedef char InfoType[10];typedef struct //记录类型{ KeyType key; //关键字项 InfoType data; //其他数据项,类型为I原创 2016-12-08 10:59:33 · 490 阅读 · 0 评论 -
第十五周项目一(6)堆排序
对算法运行过程,补充了一个示例,见[补充示例]#include #define MaxSize 20typedef int KeyType; //定义关键字类型typedef char InfoType[10];typedef struct //记录类型{ KeyType key; //关键字项 InfoType data;原创 2016-12-08 10:57:53 · 507 阅读 · 0 评论 -
第十五周项目一(4)快速排序
1.以第1个元素作为基准#include #define MaxSize 20typedef int KeyType; //定义关键字类型typedef char InfoType[10];typedef struct //记录类型{ KeyType key; //关键字项 InfoType data; //其他数据项,原创 2016-12-08 10:53:26 · 941 阅读 · 0 评论 -
第十五周 项目一(3)冒泡排序
冒泡排序.#include #define MaxSize 20typedef int KeyType; //定义关键字类型typedef char InfoType[10];typedef struct //记录类型{ KeyType key; //关键字项 InfoType data; //其他数据项,类型为Info原创 2016-12-08 10:48:52 · 537 阅读 · 0 评论 -
第十五周项目一(2)希尔排序
1.希尔排序#include #define MaxSize 20typedef int KeyType; //定义关键字类型typedef char InfoType[10];typedef struct //记录类型{ KeyType key; //关键字项 InfoType data; //其他数据项,类型为Inf原创 2016-12-08 10:43:24 · 624 阅读 · 0 评论 -
第十五周 项目一(1)直接插入排序
/*Copyright (c)2016,烟台大学计算机与控制工程学院All rights reserved.文件名称:查找.cpp作 者: 周国亮完成日期:2016年12月8日版 本 号:v1.0问题描述:输入描述:无程序输出:若干*/1.直接插入排序#include #define MaxSize 20typedef int KeyType;原创 2016-12-08 10:32:13 · 1146 阅读 · 0 评论 -
第十三周 项目5拓扑排序
(程序中graph.h是图存储结构的“算法库”中的头文件,详情请单击链接…)/*Copyright (c)2016,烟台大学计算机与控制工程学院All rights reserved.文件名称:图(2).cpp作 者: 周国亮完成日期:2016年11月24日版 本 号:v1.0问题描述:输入描述:无程序输出:若干*/#include #include #原创 2016-11-24 11:08:13 · 357 阅读 · 0 评论 -
第十三周项目4每对顶点之间的最短路径
(程序中graph.h是图存储结构的“算法库”中的头文件,详情请单击链接…)/*Copyright (c)2016,烟台大学计算机与控制工程学院All rights reserved.文件名称:图(2).cpp作 者: 周国亮完成日期:2016年11月24日版 本 号:v1.0问题描述:输入描述:无程序输出:若干*/#include #include #原创 2016-11-24 11:05:50 · 443 阅读 · 0 评论 -
第十三周 项目3从一个顶点到其余各顶点的最短路径
(程序中graph.h是图存储结构的“算法库”中的头文件,详情请单击链接…)/*Copyright (c)2016,烟台大学计算机与控制工程学院All rights reserved.文件名称:图(2).cpp作 者: 周国亮完成日期:2016年11月24日版 本 号:v1.0问题描述:输入描述:无程序输出:若干*/#include #include #in原创 2016-11-24 11:01:49 · 559 阅读 · 0 评论 -
第十三周 项目2最小生成树的克鲁斯卡尔算法
问题及代码。(程序中graph.h是图存储结构的“算法库”中的头文件,详情请单击链接…)/*Copyright (c)2016,烟台大学计算机与控制工程学院All rights reserved.文件名称:图(2).cpp作 者: 周国亮完成日期:2016年11月24日版 本 号:v1.0问题描述:输入描述:无程序输出:若干*/#include #incl原创 2016-11-24 10:51:01 · 373 阅读 · 0 评论 -
第十三周 项目1最小生成树的普里姆算法
问题及代码(程序中graph.h是图存储结构的“算法库”中的头文件,详情请单击链接…)main.cpp/* Copyright (c)2016,烟台大学计算机与控制工程学院 All rights reserved. 文件名称:图(2).cpp原创 2016-11-24 10:39:56 · 420 阅读 · 0 评论 -
第八周 项目一——建立顺序串的算法库
问题及代码:main.cpp/* Copyright (c)2016,烟台大学计算机与控制工程学院 All rights reserved. 文件名称:顺序串.cpp 作 者: 周国亮 完成日期:2016年10月20日原创 2016-10-20 10:14:51 · 394 阅读 · 0 评论 -
第八周 项目二——建立链串的算法库
问题及代码:main.cpp:#include #include "liString.h"int main(){ LiString *s,*s1,*s2,*s3,*s4; printf("链串的基本运算如下:\n"); printf(" (1)建立串s和串s1\n"); StrAssign(s,"abcdefghijklmn"); print原创 2016-10-20 10:29:25 · 527 阅读 · 0 评论 -
第四周 项目六—— 循环双链表(2)
问题及代码:/* Copyright (c)2016,烟台大学计算机与控制工程学院 All rights reserved. 文件名称:双循环链表应用(1).cpp 作 者: 周国亮 完成日期:2016年9月22日 版 本 号:v1.0 问题描述:原创 2016-09-22 11:17:34 · 435 阅读 · 0 评论