随笔分类 - Algorithm
摘要:算法之哈希表 介绍 散列表思想 假设你们班级100个同学每个人的学号是由院系-年级-班级和编号组成,例如学号为01100168表示是1系,10级1班的68号。为了快速查找到68号的成绩信息,可以建立一张表,但是不能用学号作为下标,学号的数值实在太大。因此将学号除以1100100取余,即得到编号作为该
阅读全文
摘要:队列 介绍 队列与优先队列的区别 队列是一种FIFO(First-In-First-Out)先进先出的数据结构,对应于生活中的排队的场景,排在前面的人总是先通过,依次进行。 优先队列是特殊的队列,从“优先”一词,可看出有“插队现象”。比如在火车站排队进站时,就会有些比较急的人来插队,他们就在前面先通
阅读全文
摘要:栈 介绍 栈是一种线性结构,它只能从一端添加元素,也只能从一端取出元素(这一端称之为栈顶)。 Stack这种数据结构用途很广泛,在计算机的使用中,大量的运用了栈,比如编译器中的词法分析器、Java虚拟机、软件中的撤销操作(Undo)、浏览器中的回退操作,编译器中的函数调用实现等等。 | 接口 | 说
阅读全文
摘要:链表 介绍 数组 首先我们来看一下数组。 我们先来看一下它的特点:首先数组是一种线性表数据结构,用一组连续的内存空间来存储一组具有相同类型的数据,左边的示意图,最左边0到8是它的下标,也就是数组从0开始,按照它的下标,可以随机的访问这个数组中的任何一个元素,那右边的话,8位的一串的数字是什么意思呢?
阅读全文
摘要:算法之大数据 参考链接 思想 哈希函数可以把数据按照种类均匀分流 布隆过滤器用于集合的建立与查询,并可以节省大量空间 一致性hash解决数据服务器的负载管理问题 利用并查集结构做岛问题的并行计算、 位图解决某一范围上数字的出现情况,并可以节省大量空间 利用分段统计思想、并进一步节省空间 利用堆、外排
阅读全文
摘要:算法之排序 八大排序 插入排序 插入排序是选择未排序部分首个元素,然后遍历已排过序的部分,插入对应的位置上。 直接插入排序 思想 将一个记录插入到已排序好的有序表中,从而得到一个新,记录数增1的有序表。即:先将序列的第1个记录看成是一个有序的子序列,然后从第2个记录逐个进行插入,直至整个序列有序为止
阅读全文