数据结构和算法
C Q W
邮箱:62519788@qq.com
展开
-
栈
栈栈的介绍栈的应用场景栈的简单入门栈的一个实际需求 栈的介绍 1、栈的英文为(stack) 2、栈是一个先入后出(FILO-First In Last Out)的有序列表。 3、栈(stack)是限制线性表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表。允许插入和删除的一端,为变化的一端,称为栈顶(Top),另一端为固定的一 端,称为栈底(Bottom)。 4、根据栈的定义可知...原创 2020-04-27 14:19:37 · 299 阅读 · 0 评论 -
环形链表介绍和约瑟夫问题
环形链表介绍和约瑟夫问题单向环形链表应用场景 单向环形链表应用场景 问题 Josephu问题为:设编号为1,2, .n的n个人围坐一圈,约定编号为k (1<=k<=n)的人从1开始报数,数到m的那个人出列,它的下一位又从1开始报数,数到m的那个人又出列,依次类推,直到所有人出列为止,由此产生一个出队编号的序列。 n=5,即有5个人 k=1,从第一个人开始报数 m=2,数2下...原创 2020-04-18 16:03:17 · 169 阅读 · 0 评论 -
数据结构之双向链表
数据结构之双向链表双向链表介绍 双向链表介绍 每次在插入或删除某个节点时, 需要处理四个节点的引用, 而不是两个. 也就是实现起来要困难一些 相对于单向链表, 双向链表必然占用内存空间更大一些. 但是这些缺点和我们使用起来的方便程度相比, 是微不足道的. 既可以从头遍历到尾, 又可以从尾遍历到头 分析双向链表的遍历,添加,修改,删除的操作思路 ===> 代码实现 遍历方和单链表一...原创 2020-04-14 09:43:16 · 146 阅读 · 0 评论 -
数据结构之链表的常见面试题练习
数据结构之链表的常见面试题练习求单链表中有效节点的个数查找单链表中的倒数第k个节点单链表的反转从尾到头打印单链表[要求方式1:反向遍历,方式2: Stack栈] 求单链表中有效节点的个数 package test; public class LinkedList { public static void main(String[] args){ HeroNode he...原创 2020-04-11 23:07:10 · 183 阅读 · 0 评论 -
数据结构之链表
数据结构之链表链表(Linked List)介绍单链表的应用实例添加节点,直接添加到链表的尾部添加节点,根据排名将英雄插入到指定位置修改节点删除节点 链表(Linked List)介绍 链表是有序的列表,它在内存中存储如下: 小结: 链表是以节点的方式来存储。 每个节点包含data域,next域:指向下一个节点。 如图:发现链表的各个节点不一定是连续存储。 链表分带头节点的链表和没有头...原创 2020-03-31 08:08:30 · 145 阅读 · 0 评论 -
数据结构之队列
队列队列介绍数组模拟队列思路数组模拟环形队列思路 队列介绍 队列是一个有序列表,可以用数组或是链表来实现。 遵循先入先出的原则。即:先存入队列的数据,要先取出。后存入的要后取 出 数组模拟队列思路 队列本身是有序列表,若使用数组的结构来存储队列的数据,则队列数组的 声明如下图,其中maxSize是该队列的最大容量。 因为队列的输出、输入是分别从前后端来处理,因此需要两个变量front及r...原创 2020-03-31 06:12:28 · 224 阅读 · 0 评论 -
数据结构和算法的关系
数据结构和算法的关系线性结构和非线性结构线性结构非线性结构稀疏数组和队列 1. 数据data结构(structure)是一门研究组织数据方式的学科。有了编程语言也就是有了编程结构。学好数据结构可以编写出更加漂亮、更加有效率的代码。 2. 要学好数据结构就要多多考虑如何将生活中遇到的问题用程序去实现解决。 3. 程序 = 数据结构 + 算法 4. 数据结构是算法的基础,换言之,要学号算法,需...原创 2020-03-28 09:12:39 · 1385 阅读 · 0 评论