![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法学习
努力的笨孩子
努力成为一名合格的程序员!!!
展开
-
Java数据结构与算法学习(一)—— 数组
Java数据结构与算法学习——数组一、Java数组介绍在Java中,数组是用来存放同一种数据类型的集合,并且只能存放同一种数据类型(Object类型的数组除外)。1、数组的声明第一种方式:数据类型 [] 数组名称 = new 数据类型[数组长度]这里[]的位置也可以放在数组名称的后面,但是没有上面看上去那么直观。第二种方式:数据类型 [] 数组名称={数组元素1,数组元素2,.....原创 2019-05-26 00:07:04 · 278 阅读 · 0 评论 -
Java数据结构和算法学习(四)—— 队列
Java数据结构和算法学习(四)—— 队列本次开始学习队列,队列和栈刚好相反,队列遵循是一种先进先出的原则。一、队列的基本概念队列(queue):一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表,进行插入操作的端称为队尾,进行删除操作的端称为对头,队列中没有元素时,称为空队列。队列的数据...原创 2019-06-01 01:28:01 · 115 阅读 · 0 评论 -
Java数据结构和算法学习(三)—— 栈
Java数据结构和算法学习(三)—— 栈前言数组更多的是用来进行数据的存储,纯粹用来存储数据的数据结构,我们期望的是插入、删除和查找性能都比较好。对于无序数组,插入快,但是删除和查找都很慢,为了解决这些问题,后面会学习二叉树、哈希表的数据结构。栈和队列更多的是用作程序员的工具,作为构思算法的辅助工具,而不是完全的数据存储工具。这些数据结构的生命周期比数据库类型的结构要短的多,在程序执行期间它...原创 2019-05-30 00:47:46 · 160 阅读 · 0 评论 -
Java数据结构和算法学习(二)—— 排序算法
Java数据结构和算法学习(二)本文主要是对冒泡排序、选择排序、插入排序的学习与总结。一、冒泡排序冒泡排序: 是一种直观的排序算法,它重复的走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来,遍历数列的工作是重复的进行直到没有在需要交换,也就是排序完成。冒泡排序的步骤:1、比较相邻的元素,如果第一个比第二个大,就交换它们两个。2、对每一对相邻元素做同样的工作,从开...原创 2019-05-27 02:20:21 · 90 阅读 · 0 评论 -
Java数据结构和算法学习(五)——链表
Java数据结构和算法学习(五)——链表我们知道数组作为数据结构有一定的缺陷。在无序数组中,搜索性能差,而有序数组,插入效率又很低,而且这两种数组的删除效率都很低,并且数组在创建后,其大小就固定了,设置过大浪费内存,过小不能满足数据量的存储。链表也是一种使用广泛的通用的数据结构,它也可以用来作为实现栈,队列等数据结构的基础,基本上除非需要频繁的通过下标来随机访问各个数据,否则很多使用数组的地方...原创 2019-06-03 23:59:40 · 290 阅读 · 0 评论 -
Java数据结构和算法(六)——递归
Java数据结构和算法(六)——递归一、递归的定义什么是递归:一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的为题来求解,递归策略只需少量的程序就可以描述出题解过程所需要的多次重复计算,大大的减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合。也就是说,递归,就是在运行的过程中调用自己。递归的三要...原创 2019-06-11 00:22:55 · 202 阅读 · 0 评论