![](https://img-blog.csdnimg.cn/direct/8e29c130ed7c4ba89684b10d8c5500d4.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构实验课
文章平均质量分 81
学校数据结构的实验课,包含数据结构初阶的知识
_宁清
Off To A Great Start
展开
-
数据结构实验5:图的基本操作
实现图的基本操作,包括:创建图的存储结构、复制已有的图、计算图的结点个数和弧/边条数、深度优先遍历序列、广度优先遍历序列、最小生成树、拓扑排序等。原创 2024-01-21 23:55:43 · 1237 阅读 · 3 评论 -
数据结构实验5:哈夫曼树与哈夫曼编码
通过本次实验,我更深入地理解了哈夫曼编码的原理和实现方式,并学会了如何将算法封装。在本次实验中,我们设计了一个用于构建哈夫曼树和生成哈夫曼编码的数据结构和算法。我们进行了两组测试,分别使用不同的输入数据来测试哈夫曼树的构建和编码生成功能。从测试结果可以看出,哈夫曼树构建和编码生成功能正常工作,成功生成了有效的哈夫曼编码。在解决这个问题中,我学到了如何构建哈夫曼树和生成哈夫曼编码。2、实现哈夫曼算法,实现哈夫曼树的存储并求出哈夫曼编码。原创 2024-01-21 11:51:15 · 545 阅读 · 0 评论 -
数据结构实验4:二叉树的基本操作
在解决这个问题中,我学到了如何创建二叉树数据结构,并添加了根据层序遍历输入格式构造二叉树的功能。运用二叉链表实现二叉树的基本操作,包括:创建二叉树的存储结构、复制已有的二叉树、计算已有的二叉树的深度、先根序序列、中根序序列、后根序序列等。进行了两组测试,分别使用不同的输入数据来测试二叉树的构建、深度计算和遍历功能。通过这两组测试数据,我们验证了二叉树的构建、深度计算以及不同遍历方式的正确性。代码成功实现了所需的功能。实现二叉树的创建、复制、计算二叉树的深度、先根序序列、中根序序列、后根序序列等操作。原创 2024-01-21 11:48:52 · 959 阅读 · 0 评论 -
数据结构实验3:算术表达式求值
在这个问题中,我们主要使用了C++的标准库中的string和iterator。字符串用于存储输入的算术表达式,迭代器用于在解析过程中跟踪当前位置。it:这是一个迭代器,用于跟踪当前解析到了算术表达式的哪个位置。end:这是另一个迭代器,指向字符串的末尾,用于避免迭代器越界。termfactor:这些是整数变量,用于存储中间计算结果。在解决这个问题的过程中,我认识到递归在解析表达式这类问题上的强大能力。递归能自然地处理嵌套结构,如括号内的子表达式。原创 2024-01-19 23:48:52 · 547 阅读 · 1 评论 -
数据结构实验2:通讯录管理
int age;这个结构用于表示每个联系人的基本信息。通讯录管理系统使用了一个自定义的数据结构,该结构包括了姓名、年龄、性别和电话号码等信息。这些信息被组织成一个联系人节点,方便存储和管理。主要的变量是链表con,它是类型的,用于存储联系人信息。链表的优势在于可以方便地插入和删除节点,适合通讯录这种需要频繁增删操作的场景。主要的变量定义在Contact类中,包括了一个链表con,用于存储联系人信息。原创 2024-01-18 12:09:14 · 1078 阅读 · 1 评论 -
数据结构实验1:复数的四则运算
未来,我们可以进一步探索如何优化代码、增强程序的健壮性,并扩展功能,例如实现更多的复数操作和属性。Complex是一个类,包含实部和虚部两个成员变量(float类型),包含加减乘除四种运算符的重载,也在类外定义了流插入运算符的重载,方便使用cout输出。掌握数据结构的基本概念,学会数据的组织方法,以便选择合适的数据逻辑结构和存储结构,以及相应的运算,把现实世界中的问题转化为计算机内部的表示和处理。在这次实验中,我们使用C++编写了一个简单的复数类,该类实现了复数的基本四则运算:加、减、乘和除。原创 2024-01-17 09:46:22 · 481 阅读 · 2 评论