![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
Kepp
这个作者很懒,什么都没留下…
展开
-
【数据结构学习笔记】——排序
【数据结构学习笔记】——排序冒泡排序思想一列数据,从第一个开始检查,检查与下一个元素的大小,如果前者大于后者,则交换位置。一次排序可以使最大的元素位于最后的位置。代码 void bubble(int a[],int n){ //一次冒泡 for(int i=0;i<n-1;i++) if(a[i]>a[i+1]) swap(a[i],a[i+1]);//交换位置函数原创 2016-01-28 11:22:39 · 398 阅读 · 0 评论 -
【数据结构学习笔记】——用链表形式的栈完成汉诺塔
要求使用链表形式的栈完成汉诺塔(8个碟子)移动任务。并且标出每一步移动的动作。算法设计汉诺塔问题利用递归的思想,仅有1个碟子时只需要将它移动一次。若有n个碟子时可以先将n-1个碟子移动到辅助塔上,再将最大的移动到目标塔上,此时可以忽略这个碟子(因为它最大而且不用再次移动)。再将n-1个碟子移动到目标塔上借助初始塔。代码实现自己编写的链表形势的栈 LinkedStack.h#ifndef LINKED原创 2016-01-29 12:04:34 · 527 阅读 · 0 评论 -
【数据结构学习笔记】——根据中缀表达式构建二叉树并输出
要求输入一个中缀表达式,构造表达式树,以文本方式输出树结构。 输入:例如,输入a+b+c*(d+e) 输出:以缩进表示二叉树的层次,左(根),右(叶),上(右子树),下(左子树) 分析我们有两个核心的问题需要解决,一是如何按照中缀表达式来构建二叉树,二是如何用这种形式进行输出。放码过来postfix.h我们知道由后缀表达式生成二叉树很简单,所以我们需要做的第一步就是讲中缀表达式转换为后缀表达原创 2016-02-01 12:06:20 · 7037 阅读 · 0 评论 -
【数据结构学习笔记】——霍夫曼编码
要求编码:输入一段文本,利用霍夫曼编码对其进行压缩编码,首先需要计算各字符的频率并保存在文本中,然后根据该文本建立霍夫曼树,确定各字符对应的霍夫曼编码。 输入:解码:输入一段由0和1组成的编码后的文本,利用建立的霍夫曼编码表将其还原成编码前的文本信息。分析统计给定文档的每个字符的频数并存储下来根据所统计的信息建立霍夫曼树得到每个字符的编码再根据编码解压缩编码得到文本代码#include原创 2016-02-15 10:58:23 · 742 阅读 · 0 评论 -
【数据结构学习笔记】——二叉树的建立、交换、求宽度
要求编写二叉树类的成员函数,分别实现以下功能: ① 交换二叉树中所有节点的左右子树。 ② 按层次顺序遍历二叉树:首先访问根节点,然后是它的两个孩子节点,然后是孙子节点,依此类推。(将结果输出至屏幕) ③ 求二叉树的宽度,即同一层次上最多的节点数。(将结果输出至屏幕) 分析观察这个二叉树,发现只是并不是完全二叉树。可以用书上makeTree的方法挨个建立,但是觉得太过麻烦。这里采原创 2016-02-03 10:44:30 · 574 阅读 · 0 评论