数据结构与算法
wdf过河的小卒子
这个作者很懒,什么都没留下…
展开
-
数据结构-线性表(栈与队列的特殊性)
通过前面的介绍我们知道,数据结构按照对应关系可以分为一对一的线性表结构、一 对多的树形结构,多对多的图形结构,以及同属一个集合的集合结构。 在此我们分析一下线性表结构: 对于线性表我们知道有数组、链表、栈与队列等结构。 其中栈与队列的实现都可以由数组或者链表来实现,那么为什么还要在对线性表进行划分的时候把栈与队列单独拿出来说呢? 在此我们不考虑栈与队列的实现,只分析对数据结构的操作,链表可以原创 2018-02-03 15:14:11 · 1892 阅读 · 0 评论 -
数据结构与算法-队列
队列:队列与栈不同,它是一种先进先出的结构实现: 1、数组 2、链表记录的数据: 1、队首位置:第一个元素的位置 2、队尾位置:最后一个元素的位置 3、队列大小:size队列操作:entryQueue():入队exitQueue():出队isQueueEmpty():队列为空isQueueFull():队列满队列的实现(顺序数组的实现) 将队列的定义放在queue.h中class原创 2017-09-29 01:19:31 · 347 阅读 · 0 评论 -
数据结构与算法-栈
定义:栈是一种特殊的有序表,因为其插入和删除都在一端进行。 栈是一种先进后出的结构,被操作的元素被称之为栈顶,栈在任何时候被操作的元素只有一个那就是栈顶元素。实现: 1、数组 2、链表栈的操作isEmpty():判断栈是否为空push(stackItem):入栈pop():出栈需要记录的数据 1、栈顶元素:在此关于栈顶元素有的认为是就是栈最上面的元素,也有的认为是栈顶元素位置的下一个位置原创 2017-09-29 14:21:31 · 302 阅读 · 0 评论 -
数据结构-数组
数组作为一种数据结构是线性表(逻辑结构)顺序存储(存储结构)的一种典型方式,由于任何一种逻辑结构都可以采用顺序存储的方式,所以从这方面看,数组可以表示任何的数据结构,只不过在时间和空间复杂度方面区别会比较大。 所以在此我们利用数组来简单谈谈数据结构:数组: 逻辑结构|:线性结构 存储结构:顺序存储 算法:增删改查等,对于其上的操作没有特别的限制(例如对于栈,其操作集中在一端进行)。publi原创 2017-09-03 14:38:43 · 667 阅读 · 0 评论 -
数据结构的简单理解(4)
总结: 数据的逻辑结构、数据的存储结构及数据的运算这三方面是一个整体。孤立地去理解一个方面,而不注意它们之间的联系是不可取的。 存储结构是数据结构不可缺少的一个方面:同一逻辑结构的不同存储结构可冠以不同的数据结构名称来标识。 【例】线性表是一种逻辑结构,若采用顺序方法的存储表示,可称其为顺序表;若采用链式存储方法,则可称其为链表;若采用散列存储方法,则可称为散列表。 数据的运算转载 2017-08-12 17:30:23 · 326 阅读 · 1 评论 -
数据结构与算法-链表
在讲述链表之前让我们对数据结构进行一个简单的回顾:我们知道,数据结构指的是描述实际问题中各个数据项节点之间的前后逻辑结构关系,即要么是线性结构(即某一数据项的前继节点和后继节点有且只有一个)要么是非线性结构(即某一数据节点的前驱或者后继节点不止一个)。在确定了实际数据项的数据结构之后,我们要采用某种存储方式对其进行存储,常见的数据结构的存储方式有:顺序存储、链式存储、散列存储以及索引存储。每一种存...原创 2017-09-23 15:58:23 · 971 阅读 · 0 评论 -
数据结构的简单理解(1)
一直以来对数据结构都不是特别理解,前段时间正好看到一位大神的解说,让自己对数据结构有了进一步的认识,故在此记录,希望能够帮助更多人去理解数据结构。 数据结构一般包含如下三个方面:1、数据的逻辑结构 数据的逻辑结构可以看做是从具体问题中抽象出来的数学模型,仅仅描述数据之间的逻辑关系(理解到这里就可以了),与数据在计算机中的存储位置无关,独立于计算机之外。2、数据的存储结构: 是数据的逻辑结构在计原创 2017-08-12 16:38:14 · 7077 阅读 · 0 评论 -
数据结构的简单理解(3)
数据的存储结构可以可以分为以下四种: (1)顺序存储方法 该方法把逻辑上相邻的结点存储在物理位置上相邻的存储单元里,结点间的逻辑关系由存储单元的邻接关系来体现。 由此得到的存储表示称为顺序存储结构 (Sequential Storage Structure),通常借助程序语言的数组描述。 该方法主要应用于线性的数据结构。非线性的数据结构也可通过某种线性化的方法实现转载 2017-08-12 17:12:49 · 326 阅读 · 0 评论 -
数据结构的简单理解(2)
数据逻辑的结构: 在不产生混淆的前提下,我们常常将数据的逻辑结构称之为数据结构,这样的话数据结构可以分为两类:线性结构和非线性结构(不掺杂存储关系)。1、线性结构: 线性结构:若结构是非空集,则有且仅有一个开始结点和一个终端结点,并且所有结点都最多只有一个直接前趋和一个直接后继。 线性表是一个典型的线性结构。数组、栈、队列、串等都是线性结构。2、非线性结构: 非线性结构:一个结点可能有多个直转载 2017-08-12 16:48:14 · 308 阅读 · 0 评论 -
数据结构与算法-数组
数组是应用最广泛的一种数据结构,常常被植入到编程语言中,作为基本的类型来使用,因此在一些介绍数据结构的文章中,数组没有被当做一种数据结构单独拿出来讲解。鉴于大家对数组都不陌生,可以将其作为学习数据结构的敲门砖。数组的优势在于能够进行快速的查找,如果知道下标,则可以瞬间将元素取出,但是对于元素的删除和插入则非常慢。所以,如果面临的问题需要对数据进行快速的查找,且很容易获得下标,此时就可以考虑...原创 2018-03-19 21:30:31 · 439 阅读 · 0 评论