C++数据结构实验五:查找排序
一.实验项目要求
实验目的:
1.掌握哈希表的定义,哈希函数的构造方法。
2.掌握并比较各种排序算法。
3. 掌握查找的概念、静态查找与动态查找、顺序查找、二分查找、索引查找等算法思想。
4. 掌握二叉排序树的概念、平衡二叉树等算法思想。
5. 掌握哈希查找、直接插入排序、快速排序、冒泡排序、简单选择排序等算法思想。
实验内容:
设计一个学生信息管理系统,学生对象至少要包含:学号、姓名、成绩等信息。要求实现以下功能:
1、查找:分别给定学生学号、姓名,能够查找到学生的基本信息(要求至少实现改进后的顺序查找算法);
2、排序:分别按学生的学号、成绩进行排序(要求至少用实现直接插入排序、冒泡排序、简单选择排序算法)。
C++数据结构实验四:图的应用
一.实验项目要求
1.熟练掌握图的两种存储结构,邻接矩阵和邻接表的表示方法。
2.熟练掌握图的两种遍历(深度优先搜索遍历和广度优先搜索遍历)的算法思想、步骤。
3.能按Prim算法构造最小生成树。
4.了解并掌握拓扑排序、关键路径、最短路径的算法思想。
5. 掌握图的逻辑结构特点、无向图和有向图的两种存储结构表示
6. 掌握图的深度优先和广度优先算法思想,最小生成树的概念以及普利姆算法和克鲁斯卡尔构造最小生成树的过程。
实验内容
假设有一张城市地图,图中的顶点为城市,无向边代表两个城市间的连通关系,边上的权为在这两个城市之间修建高速公路的造价,研究后发现,这个地图有一个特点,即任一对城市都是连通的。现在的问题是,要修建若干高速公路把所有城市联系起来,问如何设计可使得工程的总造价最少。
要求:
1. 创建带有n(顶点个数由用户输入)个顶点的带权无向图。可以是邻接矩阵或者邻接表存储。
2. 使用深度或广度优先搜索对图中顶点进行遍历输出。
3. 采用普里姆算法或克鲁斯卡尔算法求出使总造价最少的子图,即最小生成树。(选做题)
C++数据结构实验三:树的应用
一.实验项目要求
1.熟练掌握二叉树的二叉链表存储方式、结点结构和类型定义。
2.熟练掌握二叉树的三种遍历方法,并能写出该三种遍历的算法。
3.了解树在计算机科学及其他工程技术中的应用。
4. 掌握树和二叉树的逻辑结构特点、二叉树的顺序存储结构、二叉树的链式存储结构——二叉链表、二叉链表的结构体类型定义、在二叉链表存储结构上先序遍历、中序遍历、后序遍历的实现算法。
实验内容
1、以字符串输入形式创建一棵二叉树(提示:可以是简单的一个字符作为二叉树中一个结点;也可以是以学校管理层次体系或者族谱为蓝本,将表示该实际问题的树结构转换为对应的二叉树后,再以二叉树的创建方法来创建这棵具有实际意义的树结构。)
2、对构建的二叉树分别采用先序、中序、后序遍历算法输出每个结点数据。
3、选作题:统计叶结点的个数;计算二叉树的高度。
C++数据结构实验二:栈与队列的应用
1.熟练掌握栈和队列的基本运算。
2.掌握在两种存储结构上对栈和队列所施加的入栈、出栈、入队和出队的实现。
3.掌握栈和队列的逻辑结构特点、顺序存储结构、链式存储结构、顺序栈和链栈的结构体类型定义、循环队列和链队列的结构体类型定义、栈和队列在两种存储结构上的各种基本操作的实现算法。
4.将任意十进制数转换为三种进制数(二进制、八进制、十六进制)。
5.输入任意一串由括号(、)、[、]、{、}组成的括号序列,判断括号是否匹配。
C++数据结构实验一:线性表的应用
1.熟练掌握线性表的基本运算。
2.掌握顺序表和单链表结构上的插入和删除算法。
3.了解循环链表、双(循环)链表的结构特点和在其上施加的插入、删除等操作。
4. 掌握线性表的逻辑结构特点、顺序存储结构、链式存储结构、顺序表的结构体类型定义、单链表的结构体类型定义、在两种存储结构上的各种基本操作的实现算法。
C++数据结构实验:进制转换和括号匹配,源代码+实验报告
实验内容:
1、将任意十进制数转换为三种进制数(二进制、八进制、十六进制)。
2、输入任意一串由括号(、)、[、]、{、}组成的括号序列,判断括号是否匹配。
文件包含源代码和实验报告,环境为vs2019,实验报告中含有实验目的,实验分析,实验源代码,实验运行结果,注释较多,对基础小白较友好。可用于提交数据结构顺序栈的作业和学习。
C++数据结构单链表实验:学生信息管理系统,源代码+实验报告.zip
对学生信息的单链表已经实现以下操作:
//初始化
Status InitList(LinkList& L);
//获取学生信息
Status GetElem(LinkList L, int i, ElemType& e);
//按学号查找
Status Search_no(LNode L, char str[], LinkList& p);
//按名字查找
Status Search_name(LNode L, char str[], LinkList& p);
//插入
Status ListInsert(LinkList L, int i, ElemType e);
//删除
Status ListDelete(LinkList& L, int i);
//输出学生信息
void printlist_Link(ElemType* e);
//输入
void Input(ElemType* e);
包含实验目的,实验分析,实验源程序,实验结果,适合数据结构中单链表的作业提交和学习,注释较多,适合基础人群学习。
C++高校人员管理系统课设.zip
绝对良心,源程序可运行,不喜欢可联系博主进行退款!!!
vs版本:2019
问题描述:某高校有四类人员:教师、实验员、行政人员、教师兼行政人员;共有的信息包括:编号、姓名、性别、年龄等。其中,教师还包含的信息有:所在系部、专业、职称;实验员还包含的信息有:所在实验室、职务;行政人员还包含的信息有:政治面貌、职称等。
摘要:在当前的学校人员管理体制下,高等学校不但要有浓厚的学风气息、雄厚的师资力量、先进精良硬件设备,与此同时,作为先进科学技术和优秀文化的承载者和传播者,更需要有一个执行效率高并且便于操作的现代信息化管理系统,以实现对高校各类人员进行添加、查找、修改、删除、统计、保存、读取等动态管理的目的。
本文利用C++编写程序,实现了高校对实验员、教师、行政人员、教师兼行政人员的管理操作,均包含添加,查找,修改,删除,显示,统计等功能,也能进行对文件的保存和读取操作,还具有退出当前系统的操作。
本系统主要有四个管理模块——实验员管理系统、教师管理系统、行政人员管理系统、教师兼行政人员管理系统。为了良好的管理体验,对每次的操作结束后加一个清屏函数以增加体验感。现已过全面的系统测试,能够很好的运行,达到了预期的效果。
关键词:类 信息 文件操作 清屏函数