E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
数据结构学习-图论基础
图论基础
---二分图判定(涂色问题)
利用图的特性,以及dfs对整个图进行遍历,完成整个涂色过程#include#include#includeusingnamespacestd;constintMAX_i=10000+1;intV,E;//V表示顶点数,E表示边的数量intcolor[MAX_i];//表示节点颜色的数组,其中1表示一种颜色,-1是另一种颜色,初始化数值是0vectorG[MAX_i];//存储图的信息booldfs
zzuli_xiaomingke
·
2020-08-04 23:09
图论
C语言
图论基础
性习题实战笔记
从今天起,尽可能分享一些图论的习题。为了节省抄题的时间,在排版上不予过分究竟。不可避免引用一些文章,这里一并感谢作者,如果侵权请联系删除。分析:首先注意这个微信公众号主要讲运筹学,图论在运筹学课程有很大一部分,不过图论术语中文目前相对不固定,运筹学里面有一些出入,这是正常的。比如上述的单链在图论一般说路(path)。本题难度很一般,但是他体现了反证法的威力,以及证明图连通的小策略。这个策略是把连通
zlc_abc
·
2020-08-04 22:06
图论
数据结构学习
笔记——链表逆序
作为非计算机专业出身的程序员,虽然相关书籍都有看过,总是零散的阅读,没有进行过系统的学习,所以打算学习的过程中记一些笔记。在做链表操作的时候,如果打断了链表,一般我们要使用临时变量来记录断点。逆序链表的操作也是一样的。因为要逆序所以我们要记录链表的下一个节点(需要一个变量),改变next的指向(新的next需要一个变量),要移动链表节点(可以不需要)。所以步骤就是:记录下一个节点;改变当前节点的n
未来老干部
·
2020-08-04 19:42
C-C++基础
图论基础
-拓补排序
拓补排序是图论的重要基础之一。其原理是寻找有向图中入度为0的节点,找到后把它输出或存储,然后把它和它的边删掉(这时又会形成新的入度为0的节点,那么再重复以上操作直到把所有的点都输出),从而形成一个序列便于遍历等操作。当然,对于同一个图,拓补排序得到的序列可能不是唯一的。如,对于一个有向图的节点关系:1—>21—>31—>53—>23—>44—>2我们便可以得到以下序列:1342513542…模版代
强者天下
·
2020-08-04 17:43
图论
C++
数据结构学习
笔记(栈和队列,链表)
摘要:栈后入先出队列是先入先出下面介绍一下栈和队列的基本操作接口栈stackstack.size()栈的大小stack.empty()栈是否为空stack.push(a)将a插入栈顶stack.pop()弹出栈顶元素(删除栈顶元素)stack.top()引用栈顶对象2.队列queuequeue.size()队列的大小queue.empty()队列是否为空queue.enqueue(a)将a插入队尾
17岁歌手想当果果
·
2020-08-04 16:55
C++学习笔记
图论基础
--存储边的4种方式
邻接矩阵作为最简单的存边方式,那当然是要掌握啦。基本原理就是利用f[n][n]来存边。f[i][j]的值若为真,则表明I与j间存在边,否则没有边。既可以存单向边也可以存双向边。同时f也可以存储边的权值。另外根据矩阵乘法的定义,f*f可以表示经过一个中间点后的链接状态。缺点也很明显啦,所占内存过大(尤其是存双向边时),遍历寻找下一个点时效率低等。总体来说数据不是太刁钻时就可以用。相关复杂度时间o(n
Edith_Finch
·
2020-08-04 12:38
图论
盘点 Python 10 大常用数据结构(上篇)
我的施工之路上图施工计划,已完成专题:1我的施工计划2数字专题3字符串专题4列表专题5流程控制专题6编程风格专题7函数使用8.面向对象编程(上篇)9.面向对象编程(下篇)Python常用
数据结构学习
目的这个专题
算法channel
·
2020-08-04 11:03
数据结构
列表
python
编程语言
character
数据结构学习
笔记4-最长回文子串(Manacher算法)
!!!本文参考了文章《最长回文子串》题目描述给定一个字符串,求它的最长回文子串的长度。分析与解法最容易想到的办法是枚举所有的子串,分别判断其是否为回文。这个思路初看起来是正确的,但却做了很多无用功,如果一个长的子串包含另一个短一些的子串,那么对子串的回文判断其实是不需要的。解法1:普通解法:按照常规思路。如果假设回文长度是奇数,那么从下标为1开始执行轮询,检测回文数,看是否是最大回文数;如果假设回
小小小骆驼
·
2020-08-04 11:29
数据结构
图论基础
------存储与查询
图论(graph),其实就是把很多个相同的事物抽象为一个个点,把它们之间的关系抽象为一条边,从而组成一张图。比如我们熟悉的树,他就是一张图。一.图的相关定义图可以分为无向图和有向图,他们分定义分别如下:无向图:两个点之间的一条边没有规定方向,比如:A点与B点之间有一条路径,那么可以从A点到B点,也可以从B点到A点。也就是说这条路是双行道。有向图:两个点之间的边可能有多条,并且规定了方向。A到B有一
cqbz_yanglin
·
2020-08-04 10:56
图论
数据结构学习
1:简单排序之冒泡排序和插入排序原理及Python实现
归并排序和希尔排序的基本思想选择排序和快速排序原理及实现1.冒泡排序(1)原理:比较相邻的两个元素,将值大的元素交换到右边(降序则相反)。(2)步骤:a.比较相邻的元素。如果第一个比第二个大,就交换他们两个。b.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。c.针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到
zhuzuwei
·
2020-08-04 10:55
数据结构
数据结构学习
之二叉树(面试易考题整理)
【摘要】计算机科学中,二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(leftsubtree)和“右子树”(rightsubtree)。二叉树常被用于实现二叉查找树和二叉堆。二叉树是递归定义的,因此,与二叉树有关的题目基本都可以用递归思想解决,当然有些题目非递归解法也应该掌握,如非递归遍历节点等等。本文努力对二叉树相关题目做一个较全的整理总结,希望对找工作的同学有所帮助。本文内容
狂奔的乌龟
·
2020-08-04 08:46
数据结构和算法
数据结构学习
记录1-链表
//单链表:每个节点储存数据和指针指向下一个节点#include#include#includeusingnamespacestd;structlist{intdata;structlist*next;}*head,*t;intw;//使用结构体储存链表的每一个结点voidcreatelist(){w=0;structlist*p,*q;inti,n,k;printf("pleaseinput:\
xxy41092
·
2020-08-04 08:16
数据结构学习
总结(四)字符串
文章目录1.串的定义2.串的抽象数据类型3.串的存储结构3.1顺序存储结构3.2链式存储结构3.3堆存储结构4.串的模式匹配算法4.1朴素模式匹配算法4.2KMP模式匹配算法4.2.1KMP模式匹配算法原理4.2.2next数组值推导4.2.3KMP模式匹配算法实现4.2.4next数组优化5.总结纸上得来终觉浅,绝知此事要躬行1.串的定义串(string)是零个或多个字符组成的有限序列,又名叫字
X_信仰
·
2020-08-04 07:24
数据结构
数据结构学习
总结(一)数据结构与算法基础
文章目录前言1.数据结构1.1基本概念和术语1.2逻辑结构与物理结构1.2.1逻辑结构1.2.2物理结构2.算法及性能分析2.1算法2.2算法设计的要求2.3时间复杂度和空间复杂度2.3.1时间复杂度2.3.2空间复杂度程序设计=数据结构+算法在计算机科学中,数据结构是计算机中存储、组织数据的方式。算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。前
X_信仰
·
2020-08-04 07:24
数据结构
数据结构学习
记录(三)链表的选择排序排序操作
在上一篇博文中,我写过了根据下标进行链表元素交换的函数(并且不能交换头结点),这次由于选择排序需要用到交换元素这个功能,于是我写下了,一个全新的交换函数(整个节点的交换)。它可以根据两者的指针值来进行交换操作。单链表交换两个节点有一个非常值得注意的地方,指针值十分容易混乱。所以我们用图解来讲解整个过程原理:如下图为一个单链表:首先,当链表为空或两个需要交换的元素为同一个节点时,不进行操作。接下来交
kkkgoing
·
2020-08-04 07:20
学习记录
经验分享
互动交流
单链表排序
数据结构
C\C++
数据结构学习
-数据结构的基本概念
1.概述2.基本概念需要根据实际的业务需求来确定什么是数据元素,什么事数据项。数据结构其实就是存在相互关系的数据元素的集合数据对象是具有相同性质的数据元素的集合在下图中,A门店的顾客按照排队顺序是存在先后关系的,属于数据结构A门店的顾客信息和B门店的顾客信息是具有相同性质的,但是因为没有特定关系,所以是数据元素3数据结构==数据结构由逻辑结构。物理结构(存储结构)和数据运算三要素组成==3.1逻辑
小mu加油
·
2020-08-03 20:39
算法
数据结构
算法学习总结(2)——温故十大经典排序算法
转算法学习总结(2)——温故十大经典排序算法2019年08月29日14:57:51一杯甜酒阅读数28222文章标签:温故十大经典排序算法更多分类专栏:算法与
数据结构学习
总结一、什么是排序算法1.1、排序定义对一序列对象根据某个关键字进行排序
那二楹
·
2020-08-03 16:33
排序算法
温故十大经典排序算法
算法与数据结构学习总结
数据结构学习
笔记之栈
栈(stack)是限定仅在表尾进行插入或删除操作的线性表。因此,对栈来说,表尾端有其特殊含义,称为栈项(top),相应地,表头端称为栈底(bottom)。不含元素的空表称为空栈。栈有两种存储表示方法:顺序栈和链栈。顺序栈,即栈的顺序存储结构是利用一组地址连续的存储单元依次存放自栈底到栈顶的数据元素,同时附设指针top指示栈顶元素在顺序栈中的位置。通常的习惯做法是以top=0表示空栈,鉴于C语言中数
专心走路
·
2020-08-03 13:03
数据结构与算法学习
数据结构小白学习笔记(一) 数据结构基本概念 顺表和链表
数据结构学习
笔记基本定义基本概念和术语逻辑结构物理结构顺序表(线性结构)链表(线性结构)基本定义数据结构是一门问题驱动型学科。
贝塔小可爱
·
2020-08-03 07:14
数据结构
【转载】408计算机学科专业基础综合参考书目
这一本数据结构是2007年的最新版本,完全适合任何学校的考研数据结构的复习之用,是
数据结构学习
最权威的教材。
Jiuh-star
·
2020-08-03 05:26
【NOIp复习】
图论基础
算法
图有向图的拓扑排序(用来判环)定义将有向图中的顶点以线性方式进行排序。即对于任何连接自顶点u到顶点v的有向边uv,在最后的排序结果中,顶点u总是在顶点v的前面。存在条件如果存在环,那么就不可能满足u->v时u总是在v的前面了。所以必须是有向五环图(DAG)才能拓扑排序。是否唯一如果该DAG任意两个顶点都有确定的关系,拓扑排序就是唯一的。如果有这么一个唯一的拓扑排序,容易知道这样的顺序恰好能够遍历全
le0tan
·
2020-08-03 01:50
NOIp_图论
NOIp_复习
图论
noip
从-114514开始的
数据结构学习
【[USACO04OPEN]MooFest】树状数组好题https://zyqnb.blog.luogu.org/solution-p5094Zyq于2020/8/3学会了线段树P1531IHateIt没啥好玩的,就是一朴素的线段树维护区间最值。#include#defineintlonglongusingnamespacestd;constintmaxn=1919810;structNode{i
Zyq612
·
2020-08-02 22:00
算法与
数据结构学习
(14)-栈实现逆波兰计算器
完成一个逆波兰计算器,要求完成如下任务:1.输入一个逆波兰表达式(后缀表达式),使用栈(Stack),计算其结果2.支持小括号和多位数整数,因为这里我们主要讲的是数据结构,因此计算器进行简化,只3.支持对整数的计算。代码实现packagestack;importjava.util.ArrayList;importjava.util.List;importjava.util.Stack;public
九岁ya
·
2020-08-02 20:30
《java数据结构与算法》系列
C++
数据结构学习
笔记(二)
RAM模型RAM:RandomAccessMachine寄存器顺序编号,总数没有限制R[0],R[1],R[2]...每一项操作仅需要常数时间R[i]0GOTO1STOP与TM模型一样,RAM模型也是一般计算工具的简化与抽象T(n)=算法为求解规模为n的问题,所需要执行的基本操作次数实例1用RAM完成向下取整的除法,00GOTO2//ifc>0goto25R[0]=3找出元素a∈S,a!=max(
zjx0126
·
2020-08-02 20:14
算法
数据结构学习
笔记10--栈和队列中的一些重点易错知识点
1.链栈中为何不设置头结点?因为栈是后进先出的数据结构,我们不可能直接就对栈底元素进行操作,要想操作栈底元素,必须得先依次让非栈底元素出栈。线性表和队列如果用链表在插入删除时有头部和其他部位的操作差别,需要用头结点来统一操作。而栈只在栈顶插入删除,所以不必要用头结点。(链栈不需要在头部附加头结点,因为栈都是在头部进行操作的,如果加了头结点,等于要对头结点之后的结点进行操作,反而使算法更复杂,所以只
lhj_sjtu
·
2020-08-02 19:29
数据结构及算法分析
数据结构学习
笔记(2)—— 算法
本文主要参考书籍为《大话数据结构》第二章,算法。目录一、算法的定义与特性二、算法设计要求三、算法效率的度量方法四、算法的时间复杂度五、算法的空间复杂度一、算法的定义与特性特性:输入输出、有穷性、确定性、可行性。1、输入输出:可能没有输入(如print"HelloWorld!");但是一定有一个或多个输出。2、有穷性:算法不会出现无限循环。可以在有限的时间内运行结束。3、确定性:每一步有确定含义,不
大羚羊
·
2020-08-02 18:36
数据结构
算法
数据结构学习
笔记(2)之数据结构绪论
大话数据结构之数据结构绪论1基本概念及术语1.1数据1.2数据元素1.3数据项1.4数据对象1.5数据结构2逻辑结构与物理结构2.1逻辑结构2.2物理结构3抽象数据类型3.1数据类型3.2抽象数据类型“你数据结构怎么学的?”1基本概念及术语1.1数据描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。数据不仅包括整型、实型等数值型号,还包括字符及声音、图像
Sean_Zhangyx
·
2020-08-02 17:18
学习笔记
数据结构
算法
c语言
PAT《
数据结构学习
与实验指导》实验项目集 2-07. 素因子分解(20) C语言
2-07.素因子分解(20)时间限制400ms内存限制65536kB代码长度限制8000B判题程序Standard给定某个正整数N,求其素因子分解结果,即给出其因式分解表达式N=p1^k1*p2^k2*…*pm^km。输入格式说明:输入longint范围内的正整数N。输出格式说明:按给定格式输出N的素因式分解表达式,即N=p1^k1*p2^k2*…*pm^km,其中pi为素因子并要求由小到大输出,
Pandoraemon
·
2020-08-02 17:21
PAT
《数据结构学习与实验指导》
实验项目集
数据结构学习
笔记(3)_使用数组实现简单线性表功能
线性表(List):零个或多个数据元素的有限序列。关键字有两个:“零个”也就是说线性表是可以为空的;“有限序列”不管多长的线性表,总要有一个最大长度,并且元素与元素之间是一对一的关系,也即有一定的顺序。在Java中有一个很“神奇的”类,就是ArrayList。它神奇的地方在于它使用起来和数组一样简单,但却提供了更多更方便的方法。感觉上ArrayList是可以无限添加元素的!这一点太方便了,它是怎么
weixin_34038652
·
2020-08-02 14:33
数据结构与算法
java
数据结构---栈的基本操作
数据结构学习
-Unit3栈与队列-栈栈是一种重要的线性结构,具有后进先出的特性。元素只能从栈顶端压入,也只能从栈顶端弹出。
Hector-m
·
2020-08-02 13:38
notes
Data
Structure
JAVA高级
数据结构学习
笔记
枚举EnumbitsetBitSet中数组大小会随需要增加。vectorVector主要用在事先不知道数组的大小,或者只是需要一个可以改变大小的数组的情况。list和map类型通配符上限类型通配符下限//对于一个二维数组,根据第一列进行排序Arrays.sort(narr,(o1,o2)->o1[0]-o2[0]);Comparator的用法参考https://blog.csdn.net/u012
tiezhuLee
·
2020-08-02 13:30
笔记
数据结构学习
——字符串查找BF算法
#include#include#include#include//BFbrute-forceintbf(char*s,char*t){inti=0,j=0;intslen,tlen;slen=strlen(s);tlen=strlen(t);printf("slen:%d,tlen:%d.\n",slen,tlen);if(slen
j_j_g_a
·
2020-08-01 12:43
程序相关
数据结构学习
笔记——第4章 串
数据结构学习
笔记——第4章串4串4.1串的定义和实现4.1.1串的定义4.1.2串的存储结构定长顺序存储表示堆分配存储表示块链存储表示4.1.3串的基本操作4.2串的模式匹配4.2.1简单的模式匹配算法
狐十六
·
2020-08-01 12:32
数据结构
poj2253 Frogger(各种
图论基础
算法都能搞)&&poj1797 Heavy Transportation
传送门:poj2253题意就是求一号点到二号点之间各条路径中的最长边的最小值。这题好气啊。。网上那么多种方法,我竟然一种都没想出来。。也只能说自己太浮躁了。先是自己写的Floyd:#include#include#include#include#defineinf0x3f3f3f3fusingnamespacestd;intm;structnode{doubler,c;}q[205];double
WA是一笔财富
·
2020-07-31 20:07
poj
数据结构学习
——带父节点的二叉搜索树全部功能c++实现
第二篇二叉树我们带来纯c++版本的二叉搜索树,这篇代码是我学习了很多优秀代码之后写出来的,大家在学习二叉搜索树的同时可以着重看下在这里如何定义的二叉搜索树,以及Private和Public的封装联动,对代码思路是一个很好的提升。注:在这里的遍历我只写了前序遍历,其他的遍历方式大家可以看我的前一篇博客,一共写到了两个大方法共计5种小方法的遍历~~猛男话不多,代码走起#includeusingname
Marval-C
·
2020-07-31 17:13
树
DataStructure
数据结构学习
笔记4
线性表定义:线性表是最简单的一种数据类型,简而言之线性表是n个数据元素的有限序列。一个数据元素可以由若干个数据项组成;直接上算法;2.1已知线性表LA和LB中的数据元素按值非递减有序排列,现要求将LA和LB归并为LC,且LC中的数据元素仍按值非递减有序排列;设LA={3,5,8,11};LB={2,6,8,9,11,15,20}则LC={2,3,5,6,8,8,9,11,11,20};voidMe
孤是忧伤
·
2020-07-30 21:49
数据结构
数据结构学习
笔记1
《数据结构》严蔚敏版几个重要的术语:《数据结构》严蔚敏版几个重要的术语:数据:是对客观事物的符号表示,在计算机中是指所有能输到计算机中的并被计算机程序处理的符号的总称。它是计算机加工的原料。数据元素:是数据的基本单位,在计算机中通常作为一个整体进行考虑和处理的数据对象:是性质相同的数据元素的集合,是数据的一个子集。数据结构:是相互作用之间存在的一种或者多种特定关系的数据元素的集合。根据数据元素之间
孤是忧伤
·
2020-07-30 21:48
数据结构
数据结构学习
笔记3
线性表线性结构的特点:在数据元素的非空有限集中;1.存在唯一的一个元素被称作“第一个”的数据元素;2.存在唯一的一个被称作“最后一个”的数据元素;3.除了第一个之外,集合中的每个数据元素均只有一个前驱;4.除最后一个之外,集合中的每个元素均只有一个后继;线性表的定义:线性表是最常用且最简单的数据结构。简而言之一个线性表是n个元素的有限顺序。至于每个元素的具体含义,在不同的情况下各不相同,它可以是一
孤是忧伤
·
2020-07-30 21:48
数据结构
数据结构学习
笔记:链表及常见面试题
链表基本结构publicclassListNode{//当前节点值intval;//所指向的下一节点ListNodenext=null;ListNode(intval){this.val=val;}}//构建基本链表int[]arr={1,2,3,4,5};ListNodehead=newListNode(arr[0]);ListNodetail=head;for(inti=1;inow.val)
eicomtpmh
·
2020-07-30 09:49
算法
数据结构学习
笔记:表、栈和队列
表、栈和队列抽象数据类型概念抽象数据类型(AbstractDataType,ADT)是带有一组操作的一些对象的集合,是数学的抽象。实例表、图、集合以及他们各自的操作(添加、删除等)一起形成的对象。表ADT数组实现连续存储、固定容量线性时间操作打印插入与删除常数时间操作查找链表实现不连续存储线性时间操作查找打印常数时间操作插入与删除*删除最后一项时:找到指向最后节点的项并将其next链修改为null
eicomtpmh
·
2020-07-30 09:49
算法
判断二分图 (
图论基础
)
785.判断二分图给定一个无向图graph,当这个图为二分图时返回true。如果我们能将一个图的节点集合分割成两个独立的子集A和B,并使图中的每一条边的两个节点一个来自A集合,一个来自B集合,我们就将这个图称为二分图。graph将会以邻接表方式给出,graph[i]表示图中与节点i相连的所有节点。每个节点都是一个在0到graph.length-1之间的整数。这图中没有自环和平行边:graph[i]
Suprit
·
2020-07-30 07:27
图论
数据结构学习
笔记 --- 线性表 (单链表)
1.引言单链表有带有结点和不带头结点之分,本文分别讨论带头结点的单链表和不带头结点的单链表的一些基本操作,和用头插法、尾插法创建单链表,以及两个算法。2.带头结点的单链表2.1带头结点的单链表的存储结构typedefstructLNode{ElemTypedata;structLNode*next;}LNode,*LinkList;2.2带头结点的单链表的基本操作本文不做一一介绍,只介绍几个比较重
whz_zb
·
2020-07-30 05:49
数据结构
数据结构学习
笔记 --- 线性表 (一些常见的关于链表的算法和面试题)
1.引言本文主要讲解一些常见的关于链表的算法和面试题。2.单链表的反序(不带头结点)/*不带头结点的单链表逆转*/#include"ds.h"usingnamespacestd;typedefintElemType;typedefstructLNode{ElemTypedata;structLNode*next;}LNode,*LinkList;voidInitList(LinkList&L);v
whz_zb
·
2020-07-30 05:49
数据结构
数据结构学习
笔记 --- 线性表 (双向链表、循环链表)
1.引言本文讨论双向链表、循环链表的一些基本操作。2.双向链表2.1双向链表的存储结构typedefstructDuLNode{ElemTypedata;DuLNode*prior,*next;}DuLNode,*DuLinkList;2.2双向链表的基本操作(带头结点)(1)在带头结点的双向链表L中第i个位置之前插入元素e,i的合法值为1≤i≤表长+1StatusListInsert(DuLin
whz_zb
·
2020-07-30 05:49
数据结构
数据结构学习
笔记 --- 线性表 (顺序表)
1.引言线性表从存储结构上可以分为顺序存储结构和链式存储结构。顺序存储结构:是指用一组连续的存储单元依次存储线性表的数据元素,比如说数组。链式存储结构就是可以用不连续的地址来存储线性表的数据元素。常见的线性表的基本操作:(12个)1.InitList(L)构造一个空的线性表L,即表的初始化。2.DestroyList(L)销毁线性表,包括释放其占用的空间、链表长度置为0等3.ClearList(L
whz_zb
·
2020-07-30 05:48
数据结构
数据结构学习
笔记——栈的简析
一、栈的定义:栈是重要的线性结构。从数据结构角度看,栈也是线性表,其特殊性在于栈的基本操作是线性表操作的子集,它们是操作受限的线性表(线性表中数据元素是一对一的关系),因此,可称为限定性的数据结构。栈(stack)是限定仅在表尾进行插人或删除操作的线性表。因此,对栈来说,表尾端有其特殊含义,称为栈顶(top),相应地,表头端称为栈底(bottom)。不含元素的空表称为空栈。假设栈S=(a1,a2,
卢勇波
·
2020-07-30 04:47
数据结构学习
之队列
1、什么是队列?队列和栈有着明显的区别,队列是一种特殊的线性表有着先进先出的特点。它只允许在表头进行删除操作,在表尾进行添加操作。入队列示意图出队列示意图队列有许多的应用,比如javascript的事件循环机制,就是通过事件队列来存储异步操作的回调函数。比如逐层打印一颗树上的节点。像kafka,rabbitmq这类消息队列,其形式就是一种队列,消息生产者把消息放入队列中(尾部),消费者从队列里取出
weixin_33827965
·
2020-07-30 03:41
【C++算法与
数据结构学习
笔记------线性表】用指针实现表
一个简单的实现例子,只用到了插入函数以及输出函数,初始化26个英文字母1#include2usingnamespacestd;3template4classList;//不写Node认不到List5template6classNode{//单链表的结点7friendclassList;8private:9Tdata;//储存表中元素10Node*next;//指向表中下一个元素的指针11};12t
weixin_30849591
·
2020-07-30 02:40
双向链表的实现---
数据结构学习
(三)
在单链表中,每个节点只有一个指针指向它的直接后继,访问数据时只能沿着指针向前访问。若要访问某一节点的前驱节点,只能从头开始访问。为解决这一问题而引出了双向链表的概念。双向链表中的每个节点包含两个指针(prior和next)分别指向它的前驱和后继,从一个节点出发既可以访问它的后继节点,也可访问它的前驱节点。可大大节省访问前驱节点的时间。本文主要实现双向链表的初始化、插入、删除和输出操作。实现代码如下
autu
·
2020-07-30 02:40
数据结构学习
数据结构
双向链表
链表
单向循环链表的简单实现--
数据结构学习
(二)
单向循环链表与单链表类似,不同之处在于:单链表尾指针为NULL,单向循环链表尾指针指向头结点。当需要判断链表是否结束时,单链表的判断方法是判断尾指针是否为空,单向循环链表则是判断尾指针是否指向头结点。以下是单向循环链表的简单实现和输出。#includeusingnamespacestd;structnode{intdata;node*next;};node*head;voidinit(){node
autu
·
2020-07-30 02:40
数据结构学习
上一页
15
16
17
18
19
20
21
22
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他