
应用
Double___H
这个作者很懒,什么都没留下…
展开
-
数据结构(二)——栈和队列之表达式求解
题目描述:给定一个表达式,先求其后缀式,然后根据后缀式求表达式的值(测试用例 中,操作数的个数大于5)。本题可以运用数据结构中的栈进行求解,其中有三个比较关键的步骤一、如何将输入的字符数据中的两位即两位以上的数据转化成int型进行计算。二、如何将表达式转化成逆波兰符号式并计算这里,我先给出我的栈的结构体定义typedef struct stack{ char sign[MAX]...原创 2019-06-26 16:49:36 · 510 阅读 · 0 评论 -
数据结构实验——荷兰国旗问题(三色排列)
问题描述输入一个整型数组,整数取值 0,1,2,可以重复。输出排序后的结果。 要求设计一个排序算法,常数辅助空间和一遍扫描。示例 1:输入: 0 1 0 1 2 0 1 0 1 0 2 2 0 1输出: 0 0 0 0 0 0 1 1 1 1 1 2 2 2示例 2:输入: 1 0 2 0 1 1 2 0 2 1输出: 0 0 0 1 1 1 1 2 2 2问题分析...原创 2019-08-01 21:06:42 · 781 阅读 · 0 评论 -
数据结构实验——最大数
题目描述给定一组非负整数(每个非负整数大小为 0-1000),重新排列它们的顺序使之按照下标顺序输出后组成一个最大的整数。示例 1:输入: 10 2输出: 210示例 2:输入: 3 30 34 5 9输出: 9534330说明: 输出结果可能非常大,所以你需要返回一个字符串而不是整数题目分析通过分析我们可以知道,最后得到的结果是直接输出一个数组。首先,由于要确定最大数,...原创 2019-08-01 20:51:01 · 378 阅读 · 0 评论 -
数据结构(七)——查找之二叉排序树
代码中所用到的结构体typedef struct Node{ int elem;//存放数据 struct Node *lchild, *rchild; struct Node *prev;} TreeNode, *BiTree; //定义树节点的结构体typedef struct tree{ BiTree root;}Tree,*pTree;构造二...原创 2019-07-06 15:31:37 · 268 阅读 · 0 评论 -
数据结构(五)——树和二叉树之Huffman编码
定义的结构体typedef struct node{ char elem; float weight; int loc; int lch,rch,parent;}Node;计算字符串中的权重没什么技巧,直接计算int CalculateWeight(char a[],char b[],float weight[]){ int i=0,j;...原创 2019-06-29 10:23:46 · 283 阅读 · 0 评论 -
数据结构(六)——图之最短路径
代码中所用到的结构体typedef struct arccell{ int adj;//权值 char *info;}ArcCell,AdjMatrix[MAX][MAX];typedef struct{ int vexs[MAX];//结点数据 AdjMatrix arcs; int vexnum,arcnum;//图的点数和边数 Gr...原创 2019-07-04 15:47:15 · 631 阅读 · 0 评论 -
数据结构(七)——查找之平衡二叉树
代码中所用到的结构体typedef struct node{ int key;//关键字 struct node*left; struct node*right; int height;//当前结点所在的高度}BTNode;构造平衡二叉树算法的主要思想为了提高查找的效率,于是在二叉排序树的基础上,有了二叉平衡树的诞生。其中,先介绍几个重要的概念:平衡...原创 2019-07-12 17:12:27 · 468 阅读 · 0 评论 -
数据结构(五)——树和二叉树之二叉树遍历、先序和中序构建二叉树、二叉树的的结构对称判断
代码中所用到的结构体定义typedef struct Node{ char ch;//存放数据 struct Node *lchild, *rchild; struct Node *next;} TreeNode, *BiTree; //定义树节点的结构体二叉树的交互式建立及二叉树的三种遍历二叉树的交互式建立二叉树的交互式建立运用了递归的算法,以先输入数据,...原创 2019-06-27 20:52:00 · 511 阅读 · 0 评论 -
数据结构(四)——数组与广义表之三元矩阵的快速转置
数组数组的类型定义数组的组成:下标、值数组的特点:元素属于同一种数据类型、具有固定格式和数量的数据集合数组的顺序表示和实现数组的存储结构:数组是多维结构,而存储空间是一个一维的结构二维数组的存储域寻址——不同的存储方式有不同元素地址计算方法:大部分按行优先矩阵的压缩存储特俗矩阵的压缩存储:稀疏矩阵(矩阵中有许多特定的值)、特殊矩阵(矩阵中很多值相同的元素并且它们的分布有一...原创 2019-06-27 16:39:03 · 1078 阅读 · 0 评论 -
数据结构(六)——图之关键路径
代码中所用到的结构体typedef struct arcnode{ int weight;//权重 int adjvex;//指向的下一个顶点 struct arcnode *next;//指向这个点的另一条边}Arcnode,*pArcnode;typedef struct vnode{ pArcnode firstarc;//点所指向的第一条边}V...原创 2019-07-02 21:26:03 · 490 阅读 · 0 评论 -
数据结构(六)——图之最小生成树Prim和Kruskal算法
代码中所用到的结构体typedef struct arcnode{ int weight;//边的权重 int adjvex;//指向的下一个顶点 struct arcnode *next;//指向这个点的另一条边}Arcnode,*pArcnode;typedef struct vnode{ pArcnode firstarc;//点所指向的第一条边...原创 2019-07-02 20:45:04 · 397 阅读 · 2 评论 -
数据结构(六)——图之DFS和BFS遍历
代码中所用到的结构体typedef struct arcnode{ int adjvex;//指向的下一个顶点 struct arcnode *next;//指向这个点的另一条边}Arcnode,*pArcnode;typedef struct vnode{ pArcnode firstarc;//点所指向的第一条边}Vnode,AdjList[30];t...原创 2019-07-02 20:00:38 · 827 阅读 · 0 评论 -
数据结构(三)——串之KMP算法
一、串类型的定义一:串的基本概念串变量——串变量和其他类型变量一样串常量——串常量和整常数、实常数一样串值–串长–空串–空格串空格串和空串的不同之处:例如“ ”和“”分别表示长度为1的空白串和长度为0的空串子串–主串子串的序号——将子串在主串中首次出现时的该子串的首字符对应在主串中的序号,称为子串在主串中的序号串相等——只有当两个串的长度相等,且各个对应位置的字符都相同时才相等...转载 2019-06-27 10:03:07 · 264 阅读 · 0 评论 -
数据结构(二)——栈和队列之DFS和BFS遍历迷宫
代码目的:通过栈和队列分别实现迷宫的DFS遍历并输出可到达的全部点和BFS遍历输出走出迷宫的最短路径在迷宫输入到电脑中,以?表示起点,以0表示可走路径,以#表示墙,既不可以走的路径,以*表示可以到达的路径。一、利用栈实现迷宫的深度遍历并打印路径1.首先运用一个for循环找到迷宫的起点,将起点存入栈中。2.再运用一个while循环,依次寻找栈顶元素的上,右,下,左,是否为可到达路径并且未走过...原创 2019-06-26 20:52:29 · 679 阅读 · 0 评论 -
数据结构(二)——栈和队列之约瑟夫出圈
问题描述:用队列实现约瑟夫出圈问题:n个人排成一圈,从第一个开始报数, 报到m 的人出圈,剩下的人继续开始从1报数,直到所有的人都出圈为止(以n=41,m=3 为例)本问题运用数据结构中的队列进行求解,通过以链表构造循环队列进行求解,解决该问题的两个关键步骤。一、构造一个循环队列,并实现循环队列的入队和出队操作。二、用简便的方法实现每隔m-1个人进行出圈操作。首先,这里先给出数据结构的定义...原创 2019-06-26 17:17:52 · 616 阅读 · 0 评论 -
数据结构实验——就餐人数最多的时间段
题目描述学校要举办校庆晚宴,要求学生登记就餐时间,以确定在哪个时间段内就餐的学生数最多,从而调食品的供应量。就餐时间被分为了 N 个时间段,其中 N 可能会非常大,可以假 设 N 为 1 亿,也就是 100000000(这要求程序不能声明长度为 N 的数组或定义 N 个变量), 若未考虑此情况则不能得分。要求:排序算法的平均时间复杂度不得大于 O(MlogM)。先输入两个数字 N,M,表示就...原创 2019-08-01 22:30:09 · 3593 阅读 · 11 评论