![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 83
友农
一名大学生
展开
-
汉诺塔(Hanoi Tower)
问题分析汉诺塔问题是一个经典的问题。汉诺塔(Hanoi Tower),又称河内塔,源于印度一个古老传说。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,任何时候,在小圆盘上都不能放大圆盘,且在三根柱子之间一次只能移动一个圆盘。问应该如何操作?递归的思想就是把难题简单化,假设三根柱子我们分别命名为A、B、C,我们的想法就是把A上的圆盘转移到C柱上。假设A盘只有一个圆盘,原创 2021-10-18 11:00:06 · 494 阅读 · 0 评论 -
七大排序,你都搞懂了几个
一、冒泡排序1.1 冒泡排序一般写法冒泡排序就是将相邻的两个数字比较,如果顺序错误就将两个数交换,每轮遍历后右侧位置为最大值。 public void bubbleSort(int[] arr){ for (int i = 0; i <arr.length ; i++) { //每轮遍历后,第arr.length-i-1之后的元素都有序了,不用比较 //减少程序运行次数 for (int j = 0; j < a原创 2022-04-16 10:46:23 · 381 阅读 · 0 评论 -
【java数据结构】单链表(不带虚拟头结点)
一、单链表的创建单链表是一个物理不连续,逻辑连续的线性表。那么我们要实现单链表,就需要定义一个类Node,这个类中存储Node结点的数据及下一个结点的引用。创建Node类,类中有整形属性data存储Node的值;next存储Node下一个结点的引用。创建Node类的两个构造方法,一个只有一个参数data,表示只知道值,不知道该节点的下一个引用是啥;一个有参数data和next,表示既知道该节点的值,又知道下一节点的引用。创建SingleList类,创建属性size用于记录链表的长度,head用于原创 2021-11-08 17:09:46 · 528 阅读 · 0 评论 -
【java数据结构】顺序表
文章目录一、顺序表的创建二、顺序表添加元素2.1 头部插入元素(头插法)2.2顺序表尾部插入元素(尾插法)2.3在顺序表index位置插入元素三、顺序表查找3.1按值查找3.2按索引查找四、顺序表的删除4.1按索引删除4.2按值删除4.2.1删除首次出现的元素4.2.2删除所有值为data的元素五、顺序表的修改5.1按索引号修改5.2按值修改六、顺序表的优缺点分析6.1优点6.2 缺点七、顺序表源码顺序表一般使用数组实现,数组不仅逻辑连续,其物理也连续,下面我们将实现顺序表的基本操作(增删查改)一、原创 2021-11-06 14:59:56 · 1163 阅读 · 0 评论