数据结构与算法
joker-Tian
这个作者很懒,什么都没留下…
展开
-
数据结构与算法——排序算法(Java)
排序算法分类内部排序:指将需要处理的所有数据都加载到内部存储器中进行排序。外部排序法:数据量过大,无法全部加载到内存中,需要借助外部存储进行排序。1、冒泡排序原理:冒泡排序(Bubble Sorting)的基本思想是:通过对待排序序列从前向后(从下标较小的元素开始),依次比较相邻元素的值,若发现逆序则交换,使值较大的元素逐渐从前移向后部,就象水底下的气泡一样逐渐向上冒。思路图解: 代码实现:public class BubbleSort { public static v原创 2020-06-19 15:46:16 · 401 阅读 · 0 评论 -
Java数据结构与算法——递归
1、什么是递归?简单的说: 递归就是方法自己调用自己,每次调用时传入不同的变量。**递归有助于编程者解决复杂的问题,**同时可以让代码变得简洁。2、递归调用机制3、递归能解决什么问题?各种数学问题如: 8皇后问题 , 汉诺塔, 阶乘问题, 迷宫问题, 球和篮子的问题(google编程大赛)各种算法中也会使用到递归,比如快排,归并排序,二分查找,分治算法等.将用栈解决的问题–>第归代码比较简洁4、递归的规则1)执行一个方法时,就创建一个新的受保护的独立空间(栈空间)2)方法的局部原创 2020-05-11 11:05:16 · 299 阅读 · 0 评论 -
Java数据结构与算法——栈
1、什么是栈?1)栈的英文为(stack)2)栈是一个先入后出(FILO-First In Last Out)的有序列表。3)栈(stack)是限制线性表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表。允许插入和删除的一端,为变化的一端,称为栈顶(Top),另一端为固定的一端,称为栈底(Bottom)。4)根据栈的定义可知,最先放入栈中元素在栈底,最后放入的元素在栈顶,而删除元素刚好相反,最后放入的元素最先删除,最先放入的元素最后删除。2、入栈和出栈示意图3、使用数组模拟栈图解原创 2020-05-11 10:44:55 · 307 阅读 · 0 评论 -
java数据结构与算法——链表
链表1)链表是以节点的方式来存储,是链式存储2)每个节点包含 data 域, next 域:指向下一个节点.3)如图:发现链表的各个节点不一定是连续存储.4)链表分带头节点的链表和没有头节点的链表,根据实际的需求来确定单链表(带头结点) 逻辑结构示意图如下注意:虽然逻辑结构看起来是有顺序的,但是物理结构不一定是连续存储的!单向链表单向链表应用实例图解思路单链表创建和添加...原创 2020-04-29 10:39:01 · 216 阅读 · 0 评论 -
Java数据结构与算法——稀疏数组和队列
先认识一下线性结构和非线性结构的区别。线性结构和非线性结构线性结构线性结构作为最常用的数据结构,其特点是数据元素之间存在一对一的线性关系线性结构有两种不同的存储结构,即顺序存储结构和链式存储结构。顺序存储的线性表称为顺序表,顺序表中的存储元素是连续的链式存储的线性表称为链表,链表中的存储元素不一定是连续的,元素节点中存放数据元素以及相邻元素的地址信息线性结构常见的有:数组、队列、链表...原创 2020-04-27 20:31:25 · 301 阅读 · 0 评论