16 | 二分查找(下):如何快速定位IP对应的省份地址? 通过 IP 地址来查找 IP 归属地的功能,不知道你有没有用过?没用过也没关系,你现...
二分查找(上):如何用最省内存的方式实现快速查找功能? 今天我们讲一种针对有序数据集合的查找算法:二分查找(Binary Search)算法,也...
排序优化:如何实现一个通用的、高性能的排序函数 几乎所有的编程语言都会提供排序函数,比如 C 语言中 qsort(),C++ STL 中的 so...
线性排序: 如何根据年龄给100完用户数据排序? 上两节中,我带你着重分析了几种常用排序算法的原理、时间复杂度、空间复杂度、稳定性等。今天,我会...
排序(下):如何用开排思想在O(n)内查找第K大元素 上一节我讲了冒泡排序、插入排序、选择排序这三种排序算法,它们的时间复杂度都是 O(n2),...
排序(上):为什么插入排序比冒泡排序更受欢迎? 排序对于任何一个程序员来说,可能都不会陌生。你学的第一个算法,可能就是排序。大部分编程语言中,也...
递归:如何用三行代码找到“最终推荐人” 推荐注册返佣金的这个功能我想你应该不陌生吧?现在很多 App 都有这个功能。这个功能中,用户 A 推荐用...
队列:队列在线程池等有限资源池的应用 我们知道,CPU 资源是有限的,任务的处理速度与线程个数并不是线性正相关。相反,过多的线程反而会导致 CP...
栈:如何实现浏览器的前进和后退功能? 浏览器的前进、后退功能,我想你肯定很熟悉吧? 当你依次访问完一串页面 a-b-c 之后,点击浏览器的后退按...
文集作者