数据结构
无聊星期三
好好学习天天向上
展开
-
顺序表和链表
本文和大家讨论一下关于线性表有关的问题,包括实现等线性表:n个数据元素组成的一个有限数列,可以再期仍一位置上进行插入和删除操作的线性数据结构 从数据在物理内存存储形式上线性表可以分为:顺序表和链表 顺序表有个特点:除第一个和最后一个元素之外,每个元素都有唯一的直接前驱和唯一的直接后继,第一个元素有唯一后继,最后一个元素有唯一前驱链表和顺原创 2018-03-18 19:39:17 · 1992 阅读 · 0 评论 -
布隆过滤器
布隆过滤器简介原理简述原理图解原理代码布隆过滤器简介布隆过滤器(Bloom Filter)是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都远远超过一般的算法,缺点是有一定的误识别率和删除困难。原理简述原理布隆过滤器其实是通过...原创 2018-05-21 22:35:23 · 364 阅读 · 0 评论 -
数据结构之哈希表(包含哈希桶)
哈希表详解机器代码的实现。原创 2018-05-15 08:20:20 · 4061 阅读 · 0 评论 -
堆的应用——优先级队列的实现
优先级队列队列遵循先进先出原则,无优先级。 优先级队列则不同,每个数都有优先级,我们假设最大的数具有高优先级,则在一个有一堆数据的优先级队列中,每次出数据出优先级最高的那个数据,也就是每次出数据最大的那个数。原创 2018-04-29 23:25:54 · 610 阅读 · 0 评论 -
哈希变形——位图
位图位图位图(bitmap),就是用位来存放某种状态,尤其适用于海量数据的处理,但数据状态又不是很多的情况,通常是用来判断某个数据存不存在的。这个位一般是一位来存储一个数据,特殊情况下也可以是两位来存储,例如需要统计100亿个整型数中出现次数少于3的数,就需要梁两位来存储。 在STL中有一个bitset容器,其实就是位图。...原创 2018-05-19 23:33:28 · 678 阅读 · 0 评论 -
二叉树的非递归遍历
思路无论是前中后序还是层序,均是需要借助栈来进行遍历,其中前中后序遍历均是模拟递归的过程。 递归遍历其实是函数在调用过程中调用自身,调用自身时将该层函数压栈,执行新的一层,以前序遍历为例void BTreePrevOrder(BTNode* root){ if (root == NULL) { return; } printf("%d...原创 2018-05-05 22:02:26 · 244 阅读 · 0 评论 -
约瑟夫环问题
编程求解约瑟夫环原创 2018-04-05 09:02:52 · 398 阅读 · 0 评论 -
数据结构面试题——迷宫问题求解
迷宫问题迷宫问题是面试问题中常见的问题原创 2018-04-02 23:22:19 · 2423 阅读 · 0 评论 -
链表面试题
用C语言实现一些经典的关于链表的面试题原创 2018-03-25 18:36:56 · 601 阅读 · 0 评论 -
海量数据处理十题
题目思考方向(很重要)解题思路1)查找出现次数最多的IP地址2)查找出现次数在前K的IP地址3)找只出现一次的整数4)找存整数文件交集5)找出现次数为2次的整数6)找Query文件交集精确算法近似算法题目1)给⼀一个超过100G大小的log file, log中存着IP地址, 设计算法找到出现次数最多的IP地址? 2)与上题条件相同,如何找到...原创 2018-05-25 22:44:59 · 929 阅读 · 0 评论