16 | 二分查找(下):如何快速定位IP對(duì)應(yīng)的省份地址访锻? 通過 IP 地址來查找 IP 歸屬地的功能夏伊,不知道你有沒有用過许师?沒用過也沒關(guān)系屏轰,你現(xiàn)...
二分查找(上):如何用最省內(nèi)存的方式實(shí)現(xiàn)快速查找功能旭蠕? 今天我們講一種針對(duì)有序數(shù)據(jù)集合的查找算法:二分查找(Binary Search)算法停团,也...
排序優(yōu)化:如何實(shí)現(xiàn)一個(gè)通用的掏熬、高性能的排序函數(shù) 幾乎所有的編程語言都會(huì)提供排序函數(shù)佑稠,比如 C 語言中 qsort(),C++ STL 中的 so...
線性排序: 如何根據(jù)年齡給100完用戶數(shù)據(jù)排序舌胶? 上兩節(jié)中,我?guī)阒胤治隽藥追N常用排序算法的原理疮丛、時(shí)間復(fù)雜度幔嫂、空間復(fù)雜度、穩(wěn)定性等誊薄。今天履恩,我會(huì)...
排序(下):如何用開排思想在O(n)內(nèi)查找第K大元素 上一節(jié)我講了冒泡排序、插入排序呢蔫、選擇排序這三種排序算法切心,它們的時(shí)間復(fù)雜度都是 O(n2),...
排序(上):為什么插入排序比冒泡排序更受歡迎绽昏? 排序?qū)τ谌魏我粋€(gè)程序員來說,可能都不會(huì)陌生俏脊。你學(xué)的第一個(gè)算法全谤,可能就是排序。大部分編程語言中爷贫,也...
遞歸:如何用三行代碼找到“最終推薦人” 推薦注冊返傭金的這個(gè)功能我想你應(yīng)該不陌生吧认然?現(xiàn)在很多 App 都有這個(gè)功能补憾。這個(gè)功能中,用戶 A 推薦用...
隊(duì)列:隊(duì)列在線程池等有限資源池的應(yīng)用 我們知道季眷,CPU 資源是有限的余蟹,任務(wù)的處理速度與線程個(gè)數(shù)并不是線性正相關(guān)。相反子刮,過多的線程反而會(huì)導(dǎo)致 CP...
棧:如何實(shí)現(xiàn)瀏覽器的前進(jìn)和后退功能窑睁? 瀏覽器的前進(jìn)挺峡、后退功能,我想你肯定很熟悉吧担钮? 當(dāng)你依次訪問完一串頁面 a-b-c 之后橱赠,點(diǎn)擊瀏覽器的后退按...