![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构的应用
文章平均质量分 83
小小小青菜
2016年11月1日
展开
-
一元多项式的加减乘数实现
之前,简单地实现了多项式的打印和加法。这次我很详细地完善了之前的,增加了减法,乘法还有最最最重要的!!!除法!!!这里就大概说下我的思路:因为懒得重新写结构了,我就直接引用之前的DbList。并且增加了一个数据域,也就是说有两个数据域,一个存放系数,一个存放指数。这就构成了多项式的每一项了。尾插函数(push_back):每输入一项的系数和指数的时候就构成了一个结点原创 2017-02-09 21:25:46 · 1680 阅读 · 0 评论 -
栈实现表达式的计算
之前写过这个的博客,但是觉得不太好,都是截屏,所以我就趁有时间整理了一下。(结果发现了一个天大的低级错误。)我在实现栈的时候把析构函数写错了()所以就出现了以下的错误:首先,运行的时候答案是对的,但是是内存错误表现:然后我就进行单步调试:一直执行到最后一句代码也没有错误,直到最后一个大括号就出现了......所以说明可能是出现了内存泄露。果然原创 2017-02-12 14:42:43 · 1447 阅读 · 0 评论 -
利用链表打印多项式以及其‘+’运算
该有的链表结构:class DbList;class DbListNode{ friend class DbList;private: DbListNode *pre; DbListNode *next; int exp; float coef;public: DbListNode(DbListNode *pt = NULL,DbListNode *nt = NULL)原创 2017-01-22 15:58:32 · 543 阅读 · 0 评论 -
顺序栈的简单实现以及利用栈实现求解一位数的复合运算
《1、》理论准备:step1. 运算优先级: #@‘*’ ’/’ ‘%’‘+’ ‘-’()ISP(栈內优先数)005316ICP(栈外优先数)00原创 2017-01-22 16:20:47 · 709 阅读 · 0 评论 -
利用栈实现括号匹配检测
1.栈的简单实现(见上一篇——一位数的复合运算中)2.检测函数(很抱歉啦。。。。因为当时正在学习使用Linux,所以就在那上面写了,现在好像拷贝不出来了《尴尬》,就只能一直放截屏.........)下来给你们看看我的主函数咯~~~原创 2017-01-22 17:26:43 · 801 阅读 · 9 评论 -
图(有向图)的应用——拓扑排序
1、基本概念:有序图,每个顶点都有前驱和后继的关系。现实生活中我们可以用一个有向图来表示一个工程,顶点表是活动,有向边A---------->B表示:A必须先于活动B进行。这种有向图叫做“ 顶表示活动的网络(activity on vertices)”——记作AOV网络。将全部顶点都排在一个线性有序的序列中。这种构造AOV网络全部顶点的拓扑有序序列的运算就叫做拓扑排序(t原创 2017-02-25 18:39:58 · 6976 阅读 · 0 评论 -
图的应用——最小生成树(Kruskal算法)和(Prim算法)
一、一些概念的理解:生成树:一个连通图的生成树是原图的极小连通图,它包含原图中的所有顶点,而且有尽可能少的边。也就意味着对于生成树来说,若砍去他的一条边,就会使生成树变成一个非连通图;若给他增加一条边,就会形成图中的一个回路。最小生成树:1、概念:对于一个带权的连通图(即网络),如何找出一棵生成树,使得各边上的权值总和达到最小。2、原则:(1)必须只使用该网络中的边来构原创 2017-02-26 19:35:07 · 753 阅读 · 2 评论 -
图(邻接表)的遍历——DFS(深度优先搜索)和BFS(广度优先搜索)和连通图
深度优先搜索(DFS)是一个不断探查和回溯的过程。在探查的每一步,算法都有一个当前顶点。————意味着要用递归咯。最初的当前顶点就是指定的起始点。每一步探查过程中,首先对当前顶点v进行访问,并立即设置该顶点的访问标志为true,表示该顶点已经被访问过。接着在v的所有邻接顶点中找出尚未访问过的一个,将其视为下一步探查的当前顶点,直到所有顶点都被访问过。核心代码: void DFS原创 2017-02-25 17:59:43 · 13017 阅读 · 0 评论 -
用两个栈实现队列
对于这个问题的分析,我们可以转换为两个栈之间的来回循环倒的一个问题。 在这,我们应该清楚,两个数据结构的数据特性,一个是先进后出(栈),一个是后进先出(队列),所以,我们在这里可以这样分析: 当我们入队操作的时候,对第一个栈进行压栈;如果我们想要出栈的时候,这个时候其实是要出栈的是第一个栈的栈底元素。所以这个时候我们把第一个栈栈顶元素push进入第二个栈,然后pop,这样依次到第一个栈原创 2017-04-13 20:37:32 · 232 阅读 · 0 评论