数据结构1-4班实验
文章平均质量分 91
Leisure_水中鱼
在别人学习复制粘贴的时候,我的每一个字符都是手码的;记录学习过程写的实验,代码;欢迎大家交流,学习,有知识点提问的,我会的肯定会答,我不会的也可以一起学;对我的代码有优化建议和疑问,欢迎交流,构建和谐学习氛围。
展开
-
数据结构 实验17:Huffman树和Huffman编码——学习理解哈夫曼树
这一期是完成最最最基本要求的Huffman树的创建和编码译码。越是深入学习,越会发现很多的需求和案例都是在身边的,脱离应用,单纯就写一个算法的实现感觉还是不那么能感受到学习的快乐,所以我后面还会有进阶版本的。原创 2023-05-28 19:55:17 · 2101 阅读 · 0 评论 -
数据结构 实验16:中序线索二叉树的基本操作
建立线索二叉树的思路差不多,这次主要是针对中序线索二叉树的基本操作,既可以找前驱,又可以找后继,最具有代表性明确思路,找后继遍历就得找到第一个元素,最左元素,然后依次找后继,有线索找线索,没线索找右子树的最左端。找前驱就得找最后一个元素,最右元素,然后依次找前驱,有线索访问线索,没有线索访问左子树的最右子树。线索化过程没有什么难度,就是中序遍历,将中间的print方法替换成我们想要的方法,需要注意的就是用一个pre指针,备份访问过的前驱结点,最后注意将头结点的线索化补充完整。原创 2023-05-24 23:06:46 · 1161 阅读 · 0 评论 -
数据结构 实验15(1-4班):二叉树的递归和非递归的基本操作
递归部分实现:创建,先、中、后、双序、层次遍历,每个结点左右子树交换。非递归部分实现:先、中序遍历,后序遍历并求二叉树中第一条最长的路径及长度,层次遍历并求最长路径长度并输出最长路径。掌握二叉树的递归和非递归遍历,其他的都是在基础上功能的替换,主要需要理解递归的原理和非递归的原理和应用。递归针对于单个结点的操作会让代码非常简洁,也很简单。非递归则是在一些针对过程的需求非常好用。原创 2023-05-24 21:57:31 · 422 阅读 · 0 评论 -
数据结构 实验14(1-2班):(深入理解索引存储结构)三元组存储的稀疏矩阵建立行列索引并求鞍点
深入学习索引存储结构,在三元组外创建索引表,不影响三元组表本身存储。索引表除了存储三元组每行/列的第一个元素,还可以结合一些需求存储方便后续算法使用的元素。再者是需要分别三元组是行优先还是列优先,完善健壮性。求鞍点反而是最简单的,重点在索引的应用。原创 2023-05-11 20:23:00 · 614 阅读 · 0 评论 -
数据结构 实验14(3,4班):广义表的复制——使用两种存储结构完成广义表的备份:过程中,将原子型字符大小写互换,并求出广义表的长度和深度
广义表两种存储结构:表头表尾链结构、孩子兄弟链结构。题目要求是在完成一遍遍历的同时完成三个操作:原子的元素字母大小写互换、求表深度,求表长度。详细介绍思路,代码分析,和展示。中间对两种存储结构差异性在代码和代码设计上如何体现。最后对两种存储结构在遍历时候的优劣做出了总结原创 2023-05-10 05:46:48 · 306 阅读 · 0 评论 -
数据结构 实验13(1-4班)_广义表算法库(两种存储结构:孩子兄弟链,头尾链)
建立广义表的算法库,包括glist.h头文件,glist.c源文件,main.c测试;简单介绍了广义表常用的两种存储结构:头尾链和孩子兄弟链;因为用孩子兄弟链网上和书上很多,所以我采用的头尾链的方式存储算法库包含四个主要函数:广义表创建(CreateGL),广义表输出(DispGL),广义表求长度(GLLength),广义表求深度(GLDepth),代码展示讲解,并用main()函数测试原创 2023-05-05 12:44:00 · 352 阅读 · 1 评论