![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
文章平均质量分 72
易果啥笔
哈哈哈哈哈哈哈哈哈
展开
-
数据结构与算法之-----向量(Vector)
本章的主要内容:数据结构之-----向量 数据结构中最基础也是最重要的一个数据结构----向量。笔者大学所学的数据结构貌似与当前流行的学习内容有些不同,如果将数据按逻辑结构来简单划分的话,可以分为线性结构和非线性结构,线性结构里有一个顺序表的概念,其实,您可以把向量看成是顺序表的实例,下面我们来看向量的C++实现:先来看头文件,头文件中的内容非常之多,基本囊括了向量中大部分的知识,包括多种查询算法,插入算法,删除算法等等,为了代码的高可用性,笔者使用了模版类,如果...原创 2021-08-18 22:24:55 · 1926 阅读 · 0 评论 -
数据结构与算法之-----图(代码实现)
上一章我们介绍了图的拓扑排序以及拓扑序列,本章来看看如何用代码去实现图的三大算法: 1. 广度优先搜索算法 2. 深度优先搜索算法 3. 拓扑排序算法 我们新建一个Graph.h,本章依然从构建一个完整的图的角度来编写代码:/* * * 作者:易果啥笔 * 时间:2021.8.22 * 内容:图的头文件 * * */#ifndef STACK_GRAPH_H#define ...原创 2021-08-22 23:51:26 · 358 阅读 · 0 评论 -
数据结构与算法之-----图(拓扑排序)
上一篇笔者介绍了图中两种重要的搜索算法-----BFS和DFS原创 2021-08-22 23:24:02 · 435 阅读 · 0 评论 -
数据结构与算法之-----图(搜索算法)
上一章我们了解了图的一些基本概念,本章我们来介绍图的两种最重要的搜索算法:-----广度优先搜索算法和深度优先搜索算法。1.广度优先搜索算法2.深度优先搜索算法...原创 2021-08-22 12:25:45 · 323 阅读 · 0 评论 -
数据结构与算法之-----图(基本概念)
V和E集合,其中,V是顶点,E是边。因此,用一个一维数组存放图中所有顶点数据;用一个二维数组存放顶点间关系(边或弧)的数据,这个二维数组称为邻接矩阵原创 2021-08-22 12:24:23 · 217 阅读 · 0 评论 -
数据结构与算法之-----二叉树(二)
上一篇笔者介绍了二叉树的一些基本概念,本节主要介绍如何构建二叉树原创 2021-08-20 21:30:03 · 221 阅读 · 0 评论 -
数据结构与算法之-----二叉树(一)
【 写在前面的话:本专栏的主要内容:数据结构与算法。 1.对于初识数据结构的小伙伴们,鉴于后面的数据结构的构建会使用到专栏前面的内容,包括具体数据结构的应用,所使用到的数据结构,也是自己构建的,未使用系统的库文件,因此,建议这类小伙伴们从本专栏的总揽按顺序进行学习; 2.对于想查询有关资料的小伙伴们,可以选择性地浏览。希望小伙伴们都能有所收获~ 】 从本章开始,我们会接触到一些典型的非线性数据结构,由前面的学...原创 2021-08-20 16:33:13 · 176 阅读 · 0 评论 -
数据结构与算法之-----队列(Queue)
【写在前面的话:本专栏的主要内容:数据结构与算法。1.对于初识数据结构的小伙伴们,鉴于后面的数据结构的构建会使用到专栏前面的内容,包括具体数据结构的应用,所使用到的数据结构,也是自己构建的,未使用系统的库文件,因此,建议这类小伙伴们从本专栏的总揽按顺序进行学习;2.对于想查询有关资料的小伙伴们,可以选择性地浏览。希望小伙伴们都能有所收获~ 】 队列是一种特殊的线性表,特殊之处...原创 2021-08-20 16:00:14 · 274 阅读 · 0 评论 -
数据结构与算法之-----栈的应用(三)
本章为栈的第三个应用: 问题描述:如何计算一个字符串表达式的值? 这是一个比较复杂的问题,你可以从另一个角度来认识这个问题:------如何制作一个简易的计算器?实际上,要想实现一个计算器的功能,是一个非常复杂的问题,下面我们将问题简化一下,假设此表达式中,运算符号只有:“+”,“-”,“*”,“/”,阶乘,方幂六种再加上括号,于是,我们有以下的栈结构实...原创 2021-08-20 11:24:36 · 280 阅读 · 0 评论 -
数据结构与算法之-----栈的应用(二)
本章我们来看看栈的第二个应用: 问提描述:如何判断一个表达式中的 (), [], {} 是否匹配?比如说,表达式“ 3*(8+3*2)”是匹配的,表达式“ (3*4+33 ”是不匹配的。 问题解决(ParenMatch.h):/* * 作者:易果啥笔 * 时间:2021.8.20 * 内容:栈的典型应用二:判断括号(),[],{}是否匹配 * */#ifndef STACK_PARENMATCH_H#defi...原创 2021-08-20 10:57:01 · 206 阅读 · 0 评论 -
数据结构与算法之-----栈的应用(一)
上一章我们简单的介绍了栈这种数据结构,下面,我们来看看它的第一个应用: 问题:如何将一个十进制数转化为n进制数?话不多说,直接上代码:/* * 作者:易果啥笔 * 时间:2021.8.20 * 内容:栈的应用一: 任给一个十进制数n,将其转换为某进制的表示形式 * */#ifndef STACK_BASECONVERSION_H#define STACK_BASECONVERSION_H#include "S...原创 2021-08-20 10:41:38 · 192 阅读 · 0 评论 -
数据结构与算法之-----栈(Stack)
栈是一种非常重要的数据结构,在许多系统级的架构中,大量使用了栈。 栈的核心:后进先出(LIFO),简单说来,就是对于栈,我们只能操作栈顶元素(出栈,压栈等),我们可以从两个例子里理解栈的特点:1. 网页的回退操作。当浏览一个网页想回退时,你会发现回退的永远是上一次浏览的页面,而不是最开始打开的页面,这里面就用到了“后进先出”的思想。浏览器的底层实现中,把用户浏览的网页用“栈”这种数据结构缓存起来,一旦用户想要返回上一页(此处的“上一页”便是该栈的“栈顶元素”),直接调用...原创 2021-08-20 10:21:12 · 177 阅读 · 0 评论 -
数据结构与算法之-----总览
本专栏的主要内容为介绍数据结构方面的知识,需要读者有一定的编程能力,代码比较长,原创 2021-08-20 09:00:51 · 206 阅读 · 0 评论 -
数据结构与算法之-----链表(List)
本章的主要内容:数据结构之-----链表 上一篇文章笔者分享了数据结构中最为基础的结构-----向量(顺序表),它的特点是,数据存储在内存的一块连续区域中,如果该区域末端的内存区域已被占用,再使用扩容操作就可能会导致意外结果,再比如说,如果一个业务逻辑中,插入和删除操作比较频繁,使用向量结构的话,会使得效率变低,综合多种因素考虑,我们产生了一种新的数据结构-----链表: 向量与链表的基本区别:向量:数据存储在内存的一块连续区域中;...原创 2021-08-18 23:01:49 · 640 阅读 · 0 评论