数据结构
好菜哦
不要多想,对得起这份工资就行。
展开
-
线性结构--队列
1.队列(queue) 理解队列,可以参考实际生活中的排队,排队的人只能从队尾加入,从队首出队,这也是队列的特点。即只能从队尾添加元素,从队首删除元素,这也是常说的先进先出(First In First Out)。 模拟 ...原创 2020-05-28 16:00:36 · 618 阅读 · 0 评论 -
线性结构--栈
1.栈 栈是线性结构中的一种,它的特点是:先进后出(First In Last Out),入栈(也称为压栈)时只能从栈尾进入,出栈(弹栈)只能从栈尾开始出。原创 2020-05-28 09:52:32 · 762 阅读 · 0 评论 -
数据结构之逻辑结构
1.逻辑结构 前面讲过数据结构可以分为存储结构和逻辑结构,一般情况下,我们讨论的最多的都是逻辑结构,下面介绍有哪些常用的逻辑结构。 1.1 线程结构 1.1.1数组 1.1.2原创 2020-05-27 16:00:09 · 1741 阅读 · 0 评论 -
递归-汉诺塔问题和斐波那契数列
1.递归 递归简单来讲就是方法内部调用方法本身,它有如下要求: 1.必须要有临界条件,也就是递归必须要有出口,不能无限制的向深层调用方法,否则会栈溢出。 2.汉诺塔问题 问题:有三根柱子:A,B,C。A柱子上有3个盘子,分别是1,2,3,如何使用最少的移动次数,将3个盘子从柱子A移动到柱子C? 规则: 1.每次只能移动一个盘子。 2.大的盘子不能放在小盘子上面。 使用递归解决汉诺塔问题 原理:无论汉诺塔有多少层,都将其看做2层:最底层和上面的层。如果塔只有1层,那么直接将第一层移动到目标位置即可, 如果塔原创 2020-05-27 14:56:29 · 697 阅读 · 0 评论 -
数据结构之存储结构
1.数据结构 数据结构是计算机存储、组织数据的方式。它描绘的是数据与数据之间的关系。数据结构又可以分为存储结构和逻辑结构,我们常讨论的树、栈等都是逻辑结构。 1.1存储结构 存储结构是指数据在计算机内存中保存的方式。分为以下两种: 顺序存储:在内存中的一段连续地址上保存数据,数据间的逻辑关系和物理关系相同。特点是:地址连续,相对链式结构更加节省空间,因为链式结构有一个专门的指针域保存下一个数据的内存地址。同时,查询和修改快,但是不适合插入和删除,因为会涉及到数据的移动。 链式存储:数据在内存中的地址不连续,原创 2020-05-20 16:43:27 · 2347 阅读 · 0 评论 -
树结构--二叉查找树
节点类 //排序二叉树的节点 public class TreeNode { //节点的值 public int value; //左节点 private TreeNode leftNode; //右节点 private TreeNode rightNode; public TreeNode(int value){ this.value = value; } publ...原创 2020-04-29 10:30:59 · 118 阅读 · 0 评论