
16 | 二分查找(下):如何快速定位IP對應的省份地址? 通過 IP 地址來查找 IP 歸屬地的功能,不知道你有沒有用過?沒用過也沒關系,你現...
二分查找(上):如何用最省內存的方式實現快速查找功能? 今天我們講一種針對有序數據集合的查找算法:二分查找(Binary Search)算法,也...
排序優化:如何實現一個通用的、高性能的排序函數 幾乎所有的編程語言都會提供排序函數,比如 C 語言中 qsort(),C++ STL 中的 so...
線性排序: 如何根據年齡給100完用戶數據排序? 上兩節中,我帶你著重分析了幾種常用排序算法的原理、時間復雜度、空間復雜度、穩定性等。今天,我會...
排序(下):如何用開排思想在O(n)內查找第K大元素 上一節我講了冒泡排序、插入排序、選擇排序這三種排序算法,它們的時間復雜度都是 O(n2),...
排序(上):為什么插入排序比冒泡排序更受歡迎? 排序對于任何一個程序員來說,可能都不會陌生。你學的第一個算法,可能就是排序。大部分編程語言中,也...
遞歸:如何用三行代碼找到“最終推薦人” 推薦注冊返傭金的這個功能我想你應該不陌生吧?現在很多 App 都有這個功能。這個功能中,用戶 A 推薦用...
隊列:隊列在線程池等有限資源池的應用 我們知道,CPU 資源是有限的,任務的處理速度與線程個數并不是線性正相關。相反,過多的線程反而會導致 CP...
棧:如何實現瀏覽器的前進和后退功能? 瀏覽器的前進、后退功能,我想你肯定很熟悉吧? 當你依次訪問完一串頁面 a-b-c 之后,點擊瀏覽器的后退按...