![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
文章平均质量分 69
下面内容为介绍数据结构与算法内容
Elked_Blog
这个作者很懒,什么都没留下…
展开
-
五、栈
一、栈概述这里说到栈,好像我们也听过内存的栈空间、堆空间,但是这个说到的栈就是一个数据结构(和前面讲到的线性表是一个层面的内容)栈(stack):一种后进先出(LIFO)的有序集合,是在操作上受限的线性表,新添加的或者待删除的元素都保存在栈顶,在栈里,新元素靠近栈顶,旧元素都靠近栈底二、栈的逻辑结构如上图,为栈的逻辑结构,在这样的结构下,向这种结构中压入值和从中取值都只能对栈顶的元素进行操作;任何不在栈顶的元素都无法访问,为了得到栈顶的元素,必须先拿掉上面的元素这里为了理解先..原创 2021-04-07 15:28:01 · 575 阅读 · 0 评论 -
四、线性表
一、线性表概述由 n 个相同数据元素组成的有限序列。序列:元素之间是有序的,若元素存在多个,则第一个元素没有前驱,最后一个元素没有后继,其他的元素都有且只有一个前驱和一个后继,相邻元素之间是一对一的关系有限:数据元素的个数是有限的二、线性表的划分按照物理结果进行划分,线性表可以分为:顺序表和链表...原创 2021-04-06 15:07:42 · 1732 阅读 · 0 评论 -
三、数组概念
一、概念有限个相同数据类型元素组成的有序集合在现在的开发语言中,基本都提供了原生的数组数据结构(数组的长度是固定的,中间的元素数据类型是相同的,其索引是从0开始的)对于数组,我们在进行访问的时候,是通过其下标进行访问的,且访问的时候时间复杂度为O(1),其真实的内存存储的数据是顺序存储;理解:因为一个数组中间的每个元素的数据类型是相同的,则每个元素所占用的内存空间大小是一个固定的,就能够实现知道第一个元素的内存地址就能够知道中间所有元素的内存地址(第一个元素的内存地址+单个元素需要的内存空间原创 2021-04-03 09:39:36 · 143 阅读 · 0 评论 -
二、算法概述
一、概念算法是对特定问题求解步骤的一种描述;对于一个问题,我们可以使用不同的求解步骤,但是并不是所有的求解步骤都是最好的,我们需要为我们的求解步骤寻找一种最有的解法(不仅仅是通过代码的数量来判断,而是通过运算步骤来进行判定)二、特性输入:可以理解为函数的输入参数,可以没有参数,也可以存在有多个参数输出:至少存在一个输出,否则这个算法是没有意义的有穷性:运算的步骤(计算机的指令)需要是有限次的,无法停止运行是没有意义的确定性:算法的每个步骤计算是有明确的意义的,在给定的条件下,输出的结原创 2021-04-02 07:57:20 · 116 阅读 · 0 评论 -
一、数据结构概述
一、概念在我们的平时使用的开发语言中,同一类型的数据,往往都需要使用标识某一类型的容器来进行存储;比如所用到的数组、集合等等。这样带来的效果往往是不一样的,有的提供了较快的查询操作,如数组、哈希表等,而有的则能够支持快速的存储操作,如链表;这样根据不同的需求进行数据存储的就是数据结构(相互之间存在有一种或多种特定关系的数据元素的集合)数据:包括开发中的整数、浮点数等数值类数据,也包括了日常中的文字、图片等数据元素:数据的基本单位,比如一个字符串数据,它的数据元素就是字符数据结构:相互之间存原创 2021-04-01 15:20:01 · 94 阅读 · 0 评论