
数据结构
is_Peng
编程就是将自己的思维赋予计算机
展开
-
数据结构--线性表(一)
数据结构–表(一)表的简单数组实现对表的所有操作我们都可以通过数组来实现,虽然数组是固定容量的,但是我们可以在需要的时候用双倍的容量来创建新的数组。数组实现表类MyArrayList:API: MyArryList() //创建初始容量的空表 int size()//获取表中元素数量 boolean isEmpty()//表是否为空 Item get(int index)/...原创 2018-09-11 19:58:01 · 218 阅读 · 0 评论 -
双栈实现简单表达式求值
双栈实现简单表达式求值双栈实现表达式的求值是使用栈的一个经典例子,它使用一个栈来保存操作符,另外一个栈来保存操作数。 算数表达式由括号、运算符和操作数组成,双栈求值实现过程如下: 1、将操作数压入操作数栈 2、将运算符压入运算符栈 3、忽略左括号 4、在遇到右括号时,弹出一个运算符,再弹出运算符所需的操作数,并将运算符和操作数运算的结果存入操作数栈。 下面为实现一个保留括号(即不省...原创 2018-09-16 09:47:56 · 1510 阅读 · 0 评论 -
数据结构--线性表(二)
数据结构–表(二)简单链表的实现为了使用链表来提高插入、删除操作的效率,我们需要保证表可以不连续存储。 链表由一系列节点组成,每个节点可以在内存中不连续存储,没一个节点中都含有表元素和指向下一个节点的next链引用。 在链表中实现删除某一个节点,只需要将它前一个节点的next链引用指向要删除的节点的后一个节点就行。 在链表中实现在指定位置插入一个节点,只需要将该位置的前一个节...原创 2018-09-12 21:57:34 · 187 阅读 · 0 评论 -
数据结构--背包
数据结构–背包背包是一种不支持从中删除元素的集合数据类型。API: Bag() //创建一个空背包 void add(Item item)//向背包中添加一个元素 boolean isEmpty()//判断背包是否为空 int size()//背包中的元素数量 Iterator iterator()//迭代器用Java语言实现背包类:import java.util....原创 2018-09-10 22:45:34 · 444 阅读 · 0 评论 -
数据结构--队列
数据结构—队列队列也是表,是一种基于先进先出策略(FIFO)的集合类型,我们可以利用数组或者表来实现一个队列。先进先出策略是指按照任务产生的顺序来执行它们的策略,也可以描述成优先服务等待最久的,跟我们现实生活中的排队是同样的道理。在应用程序中使用队列的主要原因是在用集合来保存元素的同时保存他们的相对顺序:使他们入列的顺序与出列的顺序相同。基于链表实现队列API: Queue()/...原创 2018-09-13 21:03:09 · 237 阅读 · 0 评论 -
数组元素存储位置问题
数组中元素存储位置问题设有 一个二维数组 A [m][n] ,假设 A [0][0] 存放位置在 644D , A [2][2] 存放位置在 676D,每个元素占一个空间,问 A [3][3]存放在什么位置?注D表示用 10 进制表示。 解析:数组在内存中的存储空间是连续的,也就是说如果一个一维数组的第一个元素存放位置在100D,那么第二个元素就存放在101D。 二维数组可以看做...原创 2018-09-14 15:07:53 · 6967 阅读 · 0 评论 -
数据结构--栈
数据结构–栈栈是限制插入和删除都只能在一个位置的表,该位置是表的末端,叫做栈顶(top)。对栈的基本操作有入栈(push)和出栈(pop),入栈操作相当于将一个元素插入到栈中,出栈操作相当于删除栈顶的元素,并返回。 栈又叫做LIFO(后进先出)表。栈的一般模型是,存在某个元素位于栈顶,而该元素又是唯一可访问的元素。由于栈也是表,所以我们可以用数组或者链表来实现一个栈。链表实现栈...原创 2018-09-14 23:21:29 · 175 阅读 · 0 评论 -
广义表
广义表是线性表的推广,是由0个或多个单元素或子表组成的有限序列。广义表与线性表的区别在于:线性表的元素都是结构上不可分的单元素,而广义表的元素既可以是单元素,也可以是有结构的表。广义表的长度是指广义表中元素的个数。广义表的深度是指广义表展开后所含的括号的最大层数。非空广义表的第一个元素称为表头,他可以是一个单元素,也可以是一个子表;除表头元素之外,由其余元素所构成的表称为表尾,非空广义表的表...原创 2018-10-14 13:13:25 · 6395 阅读 · 0 评论 -
数据结构--树
树结构是一种非线性结构,树中的一个元素可以有两个或两个以上的直接后继元素。树的定义是递归的,即一棵树由若干棵子树构成,而子树又由更小的子树构成。树的基本概念双亲、孩子和兄弟结点的子树的根称为该结点的孩子,该结点称为其子节点的双亲,具有相同双亲的结点互为兄弟,例如上图中B是A的孩子结点,A是B的双亲结点,B、C、D互为兄弟结点。结点的度一个结点的子树的个数记为该结点的度,例如上图中A的...原创 2018-10-20 13:21:13 · 405 阅读 · 0 评论