算法
文章平均质量分 77
ba_pi
这个作者很懒,什么都没留下…
展开
-
查找算法
查找算法直接查找(遍历的方式查找,效率较低)折半查找(有顺序,类似猜数字大小,确定一个区间)插值查找(与折半查找类型差不多,确定区间范围时的计算方式不同)斐波拉契查找(与折半查找类型差不多,确定区间范围时的计算方式采用黄金分割比例)索引查找(分块索引,倒排索引–文章关键字索引)二叉排序树(二叉查找树)平衡二叉树(通过树的旋转构造一棵平衡二叉树,与哈夫曼树类似)多路查找树(应用,降低磁盘IO)散列函数(简单查找+分布均匀)以上是一些查找算法, 这里以折半查找与散列函数查找为例,至于为什么原创 2021-02-04 23:47:37 · 160 阅读 · 1 评论 -
图:java实现
知人者智,自知者明。人之所以痛苦,是因为无法跨越知道和做到的鸿沟。所以,我们要知道自己能做什么。定义图的范围比较广,类似下图,或者其实树,栈,队列也可以看做是一种特殊的图。图由一些点与线组合而成,我们称这些点为顶点,这些线为边或者弧。本质上图就是通过线来描述各个点之间的关系。图大类分为有向图与无向图。存储方式图有很多中存储方式,数组 + 二维数组存储通过顶点存在数组里面,二维数组内1代表有指向,0代表无指向...原创 2021-01-25 21:08:30 · 220 阅读 · 1 评论 -
哈夫曼树/编码:java实现
哈夫曼树哈夫曼编码原创 2021-01-18 12:25:06 · 742 阅读 · 2 评论 -
树及二叉树:java实现
https://codechina.csdn.net/mirrors/mcrwayfun/java-data-structure/-/blob/master/doc/source/tree/%E6%A0%91.md#6-%E8%8E%B7%E5%8F%96%E4%BA%8C%E5%8F%89%E6%A0%91%E7%9A%84%E9%AB%98%E5%BA%A6%E5%92%8C%E5%BA%A6原创 2021-01-10 16:19:41 · 170 阅读 · 2 评论 -
汉诺塔问题与KMP算法
争其必然,顺其自然一、汉诺塔话说在古埃及有一个三座塔,有一座塔从小到大,从上到下有64个金片,有一个和尚每天都在挪金片,将一座塔挪到另一座塔上,规定每一次移动都是大金片在上,小金片在下。还有一个传说,将这个金片挪完之时,就是世界毁灭之日。(故事可能略有出入,不过不重要,好吧)如图,有3座塔目的,将X上面的64个金片移动到Z上,简化为3步1.将x上面63个移动到Y2.将x上第64个移动到Z3.将Y上63个移动到Z分析第一步与第三步,将其拆分,可以分为62个金片的移动,由此,我们将问题规模极大原创 2021-01-02 14:34:52 · 158 阅读 · 0 评论 -
数据结构与算法之栈与队列:java实现
闻理似悟,遇境则迷栈与队列来说也算是一种特殊的线性表,栈的特点是后进先出,队列的特点是先进先出。栈栈的特点是后进先出,栈的操作只有出栈和入栈(也叫压栈),除此之外,还包含栈顶与栈底的指向以及栈的长度。因此栈的定义如下public class ZStack { /** * 栈顶指向 */ private int top = 0; /** * 栈底指向 */ private int bottom = 0; /**原创 2020-12-27 20:40:22 · 4618 阅读 · 13 评论 -
算法之排序算法
排序算法小结最近没有工作,闲来无事看看算法,从排序算法开始选择排序冒泡排序法快速排序法插入排序直接选择排序法堆排序其它排序直接插入排序法希尔排序法归并排序法冒泡排序将数组遍历,第一个数与第二个数比较,把较小的数拿出来,再与第三个数比较,把最小的数拿出来,循环一次,把最小的数拿出来了,第二次循环的次数会减少一次,找到第二小的数,最后排序完成。//核心代码...原创 2019-03-25 15:25:01 · 177 阅读 · 0 评论 -
算法之五大查找算法
五大经典查找算法顺序查找折半查找哈希查找索引查找二叉树树查找线性查找,通过代码遍历,一个一个比较核心算法//顺序查找 public static int orderLookup(int[] list, int key) { for (int i = 0; i < list.length; i++) { if (list[i]...原创 2019-03-26 21:56:26 · 1066 阅读 · 0 评论 -
归并排序法
算法之归并排序法之前觉得这个很难,后来看了一些博客,理解了之后总算是懂了。算是之前的补充。(并且今天笔试有排序算法,正好做个记录,加深映象)。归并排序的核心是分而治之,先分开,再两两合并,合并的时候调整顺序。例如 待排序序列4 8 5 3 9 6 2 4第一次分 4 8 5 3 | 9 6 2 4第二次分 4 8 | 5 3 | 9 ...原创 2019-03-28 22:08:28 · 163 阅读 · 0 评论