标签

40

分页sql 的优化

当需要从数据库查询的表有上万条记录的时候,一次性查询所有结果会变得很慢,特别是随着数据量的增加特别明显,这时需要使用分页查询。对于数据库分页查询,也有很多种方法和优化的点。下面简单说一下我知道的一些方法。......

层级评论的实现Mybatis+Thymeleaf

评论作为博客系统不可或缺的一部分,可以增加互动,各大网站评论功能是必须有的,这篇文章利用Mybatis 的+Thymeleaf实现评论+回复评论功能......

时间复杂度

各种算法的时间复杂度,以及名词解释......

prim算法(贪心算法)

prim算法就是利用了贪心算法的思想,目的是为了在一个无向带权图中找出连通了所有结点而且路径是**最小的路径**,例子,村子修路问题......

KMP算法

KMP算法用于匹配字符串,而且是暴力匹配算法的优化版......

递归迷宫最短路径

递归实际就是一种暴力查找,不停得调用自己,性能不佳,但代码简单......

骑士周游(马踏棋盘)问题

众所周知,马走法是按日字形状,马踏棋盘问题就是要求,马能走遍所有的棋盘点......

二分查找

二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。......

无向图(深广度优先遍历)

没有方向的图,但是每个点之间总有连通的路 ,这篇文章主要讲述深度优先遍历和广度优先遍历,用java实现两个算法,如下图无向图用二位数组表示,连通代表1......

霍夫曼编码(压缩解压功能)

霍夫曼编码是基于霍夫曼树的常用于压缩和编码长度的优化,上一篇文章中介绍了霍夫曼树,本文就是来通过实现字符串的压缩来解释霍夫曼编码......

霍夫曼树

霍夫曼树是二叉树的一种特殊形式,又称为最优二叉树,其主要作用在于数据压缩和编码长度的优化。叫做最优二叉树的原因是:霍夫曼树的带权路径长度是最小的......

堆排序

堆排序(Heapsort)是利用堆这种数据结构设计的一种排序算法,他是选择排序的一种,其实就是完全二叉树.堆分为大顶堆小顶堆.大顶堆其所有的子结点<=父节点,小顶堆其所有的子结点>=父节点,二叉树是一种逻辑机构,其表现形式还是数组.......

分治法

分治法就是把一个复杂的问题,分成n个小问题解决,使用递归方法,比如快速排序......

基数排序

介绍什么是基数排序......

二叉树

介绍什么是二叉树......

HashSet,HashMap为什么要重写hashCode和equals

Hash是数组和链表的混合,数组的每一项都是一个链表......

哈希表(数组+链表实现)

散列表底层实现,并用java模拟......

线索二叉树

介绍线索二叉树......

顺序存储二叉树(数组实现)

使用数组实现顺序存储二叉树......

冒泡排序

冒泡排序是最简单的排序算法......

八皇后问题(回溯法)

八皇后举例回溯法......

面向对象模拟约瑟夫问题

最普遍的就是39个犹太人自杀,先定义一个要数的数,和开始数数的位置,开始数,数到了就自杀,最后一个人幸免,怎么做呢?......

Java实现链表数据结构

线性表(类似数组)在插入和删除时需要移动大量数据,因为中间动一个数据后续的所有都要移动,这是很浪费性能的但是查询速度是非常快,因为 [基地址+元素大小*k] 就能找到第k个元素的地址,根据地址找到值......

数组模拟环形队列数据结构

队列的特点就是先选先出,就像排队有先来后到......

面试题链表反转

单链表的反转......

归并排序

归并排序是典型的空间换时间的算法,其中采用递归非常合适......

快速排序

介绍快速排序......

直接插入排序

介绍直接插入排序......

稀疏数组简单案例

介绍什么是稀疏数组......

访问网站的IP和网站总浏览量

网站的ip访问量和总访问量统计......

两个值交换

两个值相互交换的有趣写法......

递归和迭代的区别

经典面试题: n个台阶,可以一步或者两步走,总共有几种走法 ? ......