什么是八皇后问题: 指的是,在一个8 * 8的棋盘中, 放置8个棋子, 保证这8个棋子相互之间, 不在同一行,同一列,同一斜线, 共有多少种摆法? 游戏连接: http://www.4399.com/flash/42643.htm#search3 直接上代码: public class QueueL ...
分类:
编程语言 时间:
2020-06-04 01:36:25
阅读次数:
73
1、队列的基本概念 队列(queue)是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。 队列的数据元素又称为队 ...
分类:
编程语言 时间:
2020-04-12 22:40:03
阅读次数:
66
1.定义 稀疏数组可以看做是普通二位数组的压缩,但是这里说的普通数组是值无效数据量远大于有效数据量的数组,关于稀疏数组的运用有五子棋盘,地图等.. *当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组如图 2.好处 * 原数组中存在大量的无效数据,占据了大量的存储空间, ...
分类:
编程语言 时间:
2020-04-12 22:22:49
阅读次数:
73
目录
1、栈的基本概念
2、Java模拟简单的顺序栈实现
3、增强功能版栈
4、利用栈实现字符串逆序
5、利用栈判断分隔符是否匹配
6、总结
分类:
编程语言 时间:
2019-12-11 11:02:38
阅读次数:
73
目录
1、队列的基本概念
2、Java模拟单向队列实现
3、双端队列
4、优先级队列
5、总结
分类:
编程语言 时间:
2019-12-11 11:02:18
阅读次数:
69
Java数据结构和算法(八)——递归 目录 1、递归的定义 2、求一个数的阶乘:n! 3、递归的二分查找 4、分治算法 5、汉诺塔问题 5、归并排序 6、消除递归 递归和栈 7、递归的有趣应用 ①、求一个数的乘方 ②、背包问题 ③、组合:选择一支队伍 8、总结 记得小时候经常讲的一个故事:从前有座山 ...
分类:
编程语言 时间:
2019-11-17 10:22:54
阅读次数:
125
Java数据结构和算法(四)——栈 目录 1、栈的基本概念 2、Java模拟简单的顺序栈实现 3、增强功能版栈 4、利用栈实现字符串逆序 5、利用栈判断分隔符是否匹配 6、总结 前面我们讲解了数组,数组更多的是用来进行数据的存储,纯粹用来存储数据的数据结构,我们期望的是插入、删除和查找性能都比较好。 ...
分类:
编程语言 时间:
2019-11-09 17:56:22
阅读次数:
91
1.平衡二叉树基本介绍 1.1平衡二叉树又叫平衡二叉搜索树(Selg-balancing binary search tree),又叫AVL树,可以保证查询效率较高; 1.2 平衡二叉树是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是平衡二叉树。 1.3 平衡二叉树的常用实 ...
分类:
编程语言 时间:
2019-08-19 15:54:50
阅读次数:
99
1.快速排序(QuickSort) 1.1 快速排序是对冒泡排序的一种改进。通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另一部分的所有数据都要小,然后再按照此方法对这两部分数据进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 2.归并排序(MergeS ...
分类:
编程语言 时间:
2019-08-10 15:43:18
阅读次数:
113
红黑树规则: 1、根节点与叶节点都是黑色节点 2、每个红色节点的两个子节点都是黑色节点,反之,不做要求,换句话说就是不能有连续两个红色节点 3、从根节点到所有叶子节点上的黑色节点数量是相同的 一般对红黑树的讲述都是先给出这样的定义,这样想对不太容易理解的,而在算法4一书中,直接跳过这些规则,而讲述了 ...
分类:
编程语言 时间:
2019-06-29 14:56:19
阅读次数:
103