
Java数据结构与算法
Tomcatist
这个作者很懒,什么都没留下…
展开
-
递归(Recursion)
递归的概念简单的说: 递归就是方法自己调用自己,每次调用时传入不同的变量.递归有助于编程者解决复杂的问题,同时可以让代码变得简洁。递归调用机制回顾一下递归调用机制打印问题阶乘问题使用图解方式说明了递归的调用机制递归调用规则:当程序执行到一个方法时,就会开辟一个独立的空间(栈)每个空间的数据(局部变量),是独立的代码演示:package com.atguigu.r...原创 2020-03-06 21:10:18 · 167 阅读 · 0 评论 -
栈
栈栈的一个实际需求请输入一个表达式计算式:[722-5+1-5+3-3] 点击计算【如下图】请问: 计算机底层是如何运算得到结果的? 注意不是简单的把算式列出运算,因为我们看这个算式 7 * 2 * 2 - 5, 但是计算机怎么理解这个算式的(对计算机而言,它接收到的就是一个字符串),我们讨论的是这个问题。-> 栈栈的介绍栈的英文为**(stack)**栈是一个先入后出**...原创 2020-02-28 22:20:48 · 172 阅读 · 0 评论 -
链表(Linked List)
链表(Linked List)链表(Linked List)介绍链表是有序的列表,但是它在内存中是存储如下小结上图:链表是以节点的方式来存储,是链式存储每个节点包含 data 域, next 域:指向下一个节点.如图:发现链表的各个节点不一定是连续存储.链表分带头节点的链表和没有头节点的链表,根据实际的需求来确定 单链表(带头结点) 逻辑结构示意图如下单...原创 2020-02-23 23:31:41 · 348 阅读 · 0 评论 -
队列(queue)
队列队列的一个使用场景银行排队的案例:队列介绍队列是一个有序列表,可以用数组或是链表来实现。遵循先入先出的原则。即:先存入队列的数据,要先取出。后存入的要后取出示意图:(使用数组模拟队列示意图)数组模拟队列思路队列本身是有序列表,若使用数组的结构来存储队列的数据,则队列数组的声明如下图, 其中 maxSize 是该队 列的最大容量。因为队列的输出、输入是分别从前后端来...原创 2020-02-22 20:59:11 · 459 阅读 · 0 评论 -
稀疏数组(sparsearray)
稀疏数组(sparsearray)先看一个实际的需求编写的五子棋程序中,有存盘退出和续上盘的功能。分析问题:因为该二维数组的很多值是默认值 0, 因此记录了很多没有意义的数据.->稀疏数组。基本介绍当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。稀疏数组的处理方法是:记录数组一共有几行几列,有多少个不同的值把具有不同值的元素的行列及...原创 2020-02-22 20:57:42 · 152 阅读 · 0 评论 -
线性和非线性结构
数据结构和算法概述数据结构和算法的重要性算法是程序的灵魂,优秀的程序可以在海量数据计算时,依然保持高速计算一般来讲程序会使用了内存计算框架(比如Spark)和缓存技术(比如Redis等)来优化程序,再深入的思考一下,这些计算框架和缓存技术, 它的核心功能是哪个部分呢?拿实际工作经历来说, 在 Unix 下开发服务器程序,功能是要支持上千万人同时在线, 在上线前,做内测,一切 ...原创 2020-02-22 20:54:23 · 224 阅读 · 0 评论