数据结构
大风车滴呀滴溜溜地转
为天地立心,为生民立命,为往圣继绝学,为万世开太平。
展开
-
数据结构——栈
栈基础知识栈是只能在某一端插入和删除的特殊线性表。进行删除和插入的一端称为栈顶,另一端称为栈底。插入一般称为进栈(push),删除则称为退栈(pop)。栈也称为后进先出表(LIFO表)。一个栈可以用定长为n的数组s来表示,用一个栈指针top指向栈顶。 若top=0,表示栈空,若top=n,表示栈满。 进栈时top+1,退栈时top-1。 当top<0时为下溢。 ...原创 2019-02-11 22:24:37 · 587 阅读 · 0 评论 -
数据结构——线性表
线性表:零个或多个数据元素的有限序列。线性表的定义若将线性表记为(a1,…,ai-1,ai,ai+1,…,an),则表中ai-1领先于ai,ai领先于ai+1,称ai-1是ai的直接前驱元素,ai+1是ai的直接后继元素。当i=1,2,…,n-1时,ai有且仅有一个直接后继,当i=2,3,…,n时,ai有且仅有一个直接前驱。线性表元素的个数n(n>=0)定义为线性表的长度,当n=0,称...原创 2019-02-23 20:00:22 · 383 阅读 · 0 评论 -
数据结构——队列
队列 (常用数据结构之一)定义队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。和栈一样,队列是一种操作受限制的线性表,进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。队列的数据元素又称为队列元素。在队列中插入一个队列元素称为入队,从队列中删除一个队列元素称为出队。因为队列只允许在...原创 2019-02-25 21:06:32 · 724 阅读 · 0 评论 -
数据结构和算法 —— 图
图的定义图(Graph)是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:G(V,E),其中,G表示一个图,V是图G中顶点的集合,E是图G中边的集合。对于图的定义,需要明确几个注意的地方:1.线性表中我们把数据元素叫元素,树中叫结点,在图中数据元素我们则称之为顶点(Vertex)。2.线性表可以没有数据元素,称为空表,树中可以没有结点,叫做空树,而图结构在国内大部分的教材中强调顶...原创 2019-04-12 10:56:33 · 440 阅读 · 0 评论 -
数据结构和算法 —— 时间复杂度+空间复杂度
算法效率的度量方法事后统计方法这种方法主要是通过设计好的测试程序和数据,利用计算机计时器对不同算法编制的程序的运行时间进行比较,从而确定算法效率的高低。但这种方法显然是有很大缺陷的:必须依据算法事先编制好测试程序,通常需要花费大量时间和精力;不同测试环境差别不是一般的大!事前分析估算方法在计算机程序编写前,依据统计方法对算法进行估算。算法采用的策略,方案编译产生的代码质量问题...原创 2019-04-11 19:36:47 · 344 阅读 · 0 评论 -
数据结构和算法 —— 谈谈算法
什么是算法?算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。算法的五个基本特征输入算法具有零个或多个输入。尽管对于绝大多数算法来说,输入参数都是必要的输出算法至少有一个或多个输出。算法是一定要输出的,输出的形式可以是打印形式输出,也可以是返回一个值或多个值等。有穷性指算法在执行有限的步骤之后,自动结束而不会出现无限循环,并且每一...原创 2019-04-11 17:49:21 · 629 阅读 · 0 评论 -
数据结构和算法 —— 绪论
什么是数据结构?数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及它们之间的关系和操作等相关问题的学科。程序设计 = 数据结构 + 算法再简单的来说数据结构就是关系,没错,就是数据元素相互之间存在的一种或多种特定关系的集合。逻辑结构和物理结构逻辑结构逻辑结构:是指数据对象中数据元素之间的相互关系。四大逻辑结构集合结构线性结构树形结构图形结构物理结构物理结...原创 2019-04-11 17:34:36 · 342 阅读 · 0 评论 -
《算法竞赛入门经典》—— 5.2.6 栈、队列与优先队列
栈,是符合“后进先出”(Last In First Out,LIFO)规则的数据结构,有PUSH和POP两种操作,其中PUSH把元素压入“栈顶”,而POP从栈顶把元素“弹出”。提示5-14:STL在stack头文件提供了栈,用“stack s”方式定义,用push()和pop()实现元素的进栈和出栈操作,top()取栈顶元素(但不删除)。队列,是符合“先进先出”(First In First ...原创 2019-02-25 20:31:38 · 386 阅读 · 0 评论